发布模式仍然依赖于MSVCP110D.dll(C++ MSVS)

Chr*_*tig 10 c++ visual-studio

我是C++编程的新手,刚刚完成了一个简单的计算器.我决定与我的朋友分享它,经过几次尝试,想出如何在发布模式下编译它.但是,即使在发布模式下,它仍然依赖于MSVCP110D.dll.我想知道是否有办法解决这个问题?

pau*_*sm4 7

1)MSVCP110D.dll是MS C运行时库的"调试"版本的运行时.dll.所以看起来你的.exe可能不是为了"Release"而正确构建的.

2)以下是"Visual Studio Runtime Redistributable"的信息:

http://www.microsoft.com/en-us/download/details.aspx?id=30679

3)以下是有关此特定问题的更多信息:

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvc/thread/e128dff6-cef5-4a81-b6de-fcbcaa7a23bb

不幸的是,msvcp100D.dll是一个调试DLL,它不包含在Microsoft Visual C++ Redistrutable包中.这是因为通常调试版本不会发布到开发人员之外.开发人员默认使用Visual Studio安装它.

您可以在"发布"中编译项目,这样您将需要的所有DLL都将包含在Microsoft Visual C++ Redistrutable包中.

否则你可以做所有库的静态链接(将Release中的/ MT和Debug配置中的/ MTd指定为编译器选项):但我个人不推荐它,因为你在可执行文件中输入了许多信息(由调试器使用)会减慢你的应用程序.