Mar*_*o29 12 c++ visual-studio-2010 visual-studio
我在谷歌上搜索并意识到可能有几个原因,所以我将描述我的情景.
当我的应用程序尝试加载在另一个版本的Visual Studio(2010)中构建的.dll文件时,会发生这种情况,如果我在Visual Studio 2008上构建相同的项目,则DLL文件加载得很好......
我不知道它是否重要,但Visual Studio 2010 DLL文件版本是在Windows 7 x32上构建的,而Windows Vista 64位则是在Visual Studio 2008的另一端.
Dav*_*nan 12
如果动态链接到MSVC运行时,则需要在将运行应用程序的每台计算机上安装该运行时.
请注意,在这种情况下,您似乎链接到运行时的调试版本,分发与运行时的调试版本链接的应用程序是不正常的.
如果您不想分发运行时,则可以将Visual Studio中的运行时库选项(属性 - > C/C++ - >代码生成 - >运行时库)从/ MD切换到/ MT或从/ MDd切换到/ MTd .
正如其他人所说,如果您要分发此应用程序,则应该动态或静态地链接到Runtime库的Release版本,而不是Debug版本.