用vs2008建一个exe工程,在 运行的时候出现了一个错误
An application has made an attempt to load the C runtime library incorrectly
解决办法:
上面的那个问题是由于Debug下项目依赖了MSVCR90.DLL引起来的,在Linker选项中,忽略掉msvcrt.lib库,即可完美解决。
通过depends工具,可以查看到在DEBUG下EXE文件除了依赖MSVCR90D.DLL外,还依赖了MSVCR90.DLL。
Debug下面只要依赖MSVCRTD,对应MSVCR90D.DLL,但是在VS2008的这个项目里,在debug下面运行,还同时依赖了MSVCR90.DLL,正是因为这个exe错误地依赖了不应该依赖的dll,才出现了运行时候R6034这个错误。
An application has made an attempt to load the C runtime library incorrectly
解决办法:
上面的那个问题是由于Debug下项目依赖了MSVCR90.DLL引起来的,在Linker选项中,忽略掉msvcrt.lib库,即可完美解决。
通过depends工具,可以查看到在DEBUG下EXE文件除了依赖MSVCR90D.DLL外,还依赖了MSVCR90.DLL。
Debug下面只要依赖MSVCRTD,对应MSVCR90D.DLL,但是在VS2008的这个项目里,在debug下面运行,还同时依赖了MSVCR90.DLL,正是因为这个exe错误地依赖了不应该依赖的dll,才出现了运行时候R6034这个错误。
在使用Visual Studio 2008创建exe工程时遇到的运行错误,即An application has made an attempt to load the Cruntimelibrary incorrectly。文章详细解释了此错误的原因及解决方案,即在Linker选项中忽略msvcrt.lib库,避免了错误的dll依赖,从而解决了问题。

被折叠的 条评论
为什么被折叠?



