繁体   English   中英

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

[英]C++ link issue after switching to /MT

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

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

在此输入图像描述

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM