VS 2017 VC++项目出现 LNK1104 无法打开文件"libcmtd.lib" 的解决方法 error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2

今天用VS 2017编译一个以前的VC++动态库项目,出现了一个链接器问题: LNK1104 无法打开文件"libcmtd.lib" 。

操作系统版本为:Windows 10 18362.145。

VS版本为:VS 2017 15.9.12。

步骤如下:

1、在项目上点击右键,选择【属性】,然后选择【链接器】,选择【常规】,找到【附加库目录】,然后在VS的安装目录中找到libcmtd.lib所在目录,有两个目录,一个是x86,一个是x64,然后添加合适的一个,我的目录是【C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\lib\x86】。

2、添加目录后,找到【输入】,选择【附加依赖项】,将该库文件添加进去。

3、此时已经解决无法打开该库文件的问题。但是我的项目中遇到了另一个问题:error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2。检查后发现是代码生成的运行库设置不正确,由于之前工程输出是release模式,现在要调试,改成了debug模式,但是运行库没有改【多线程调试 (/MT)】,应该改为【多线程调试 (/MTd)】。

Done!

猜你喜欢

转载自www.cnblogs.com/lzhu/p/10987428.html