切换到/ MT后的C ++链接问题

时间:2013-03-27 05:30:10

标签: c++ c visual-c++

我正在处理应该在任何Windows NT计算机上运行的应用程序。今天我试图在新机器上部署我的应用程序,突然得到msvcp100.dll缺失的错误。我已经开始深入研究这个问题并找到了解决方案。只有我必须做的是在项目配置中将Run time library/MD更改为Multi-threaded (/MT)

但切换到当前模式后,我收到链接错误。不知道为什么以及如何解决它。你能帮我解决一下吗?谢谢!

enter image description here

2 个答案:

答案 0 :(得分:2)

您不应该部署调试版本。使用Release设置进行编译(包括运行时库的发行版),您将不会遇到此问题。 (您可以在发布版本上启用调试信息...它使用导致问题的调试库)

答案 1 :(得分:2)

错误来自于在调试模式下编译时,您需要将项目更改为与调试库的链接链接,即 msvcmrtd.lib 而不是msvcmrt.lib msvcrtd.lib 而不是msvcrt.lib

将调试二进制文件部署到其他计算机可能/将导致运行时问题,因为调试版本的软件不是(afaik)可再发行的,您可能想要做的是修复发布版本。