LNK2038 - VS2012中的链接问题

LNK2038 - Linking Issue in VS2012

本文关键字:链接 问题 VS2012 LNK2038      更新时间:2023-10-16

对于live555库,我得到以下错误:

错误LNK2038:检测到'RuntimeLibrary'不匹配:值'MD_DynamicRelease'不匹配值'MDd_DynamicDebug ' main.obj

我在项目设置和main. pcp -Settings中更改了运行时库为'多线程- dll (/MD)'。

但是,我仍然得到错误。这就像它不会改变运行时库,即使我在设置中改变了它。

你知道为什么吗?

我注意到当我删除include <string>时错误消失了。这有什么关系呢?

我在VS2013中遇到了同样的问题。这太令人抓狂了,我很惊讶地发现没有人在你之前问过这个问题。

我没有一个完整的答案,但是删除默认定义的"_DEBUG"预处理器宏为我消除了错误。我假设在定义_DEBUG时,在MS标准库头文件中有一个pragma或其他东西触发,并以某种方式强制使用调试版本,而不管命令行。

我想这只是VS团队为了让我们的生活更有趣而放进去的又一个小地雷。谢谢VS团队