VS 2017 VC++项目出现 LNK1104 无法打开文件"libcmtd.lib" 的解决方法

本文介绍如何在VS2017中解决动态库项目编译时遇到的LNK1104无法打开文件libcmtd.lib及LNK2038运行库不匹配问题,详细步骤包括修改附加库目录与附加依赖项,调整代码生成的运行库设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用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!

 

转载于:https://www.cnblogs.com/lzhu/p/10987428.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值