VS2017中如何从链接器命令行移除matplot.lib文件?
Visual Studio 2017 C++项目移除matplot.lib的解决方法
问题描述
编译项目时触发LNK1104: cannot open file 'matplot.lib'错误,查看项目属性的链接器命令行,发现包含matplot.lib,但链接器→输入→附加依赖项为空,且无法直接编辑命令行参数。同时单元测试项目存在gtest相关的LNK2019未解析外部符号错误。
解决步骤
1. 确认配置一致性并检查附加依赖项
- 确保当前查看的项目属性配置(Debug x64)和编译时的配置完全一致,避免因配置切换导致的显示偏差。
- 点击链接器→输入→附加依赖项右侧的下拉箭头,选择“编辑”,仔细检查是否隐藏了
matplot.lib引用,若有则删除。
2. 检查属性表(Property Sheets)
- 右键项目,选择属性管理器,展开当前配置节点(Debug x64)。
- 逐个双击附加的
.props属性表文件,进入链接器→输入→附加依赖项,查找matplot.lib并删除,保存属性表后重新编译。
3. 直接编辑项目文件(.vcxproj)
- 关闭Visual Studio,找到项目根目录下的
.vcxproj文件,用文本编辑器打开。 - 搜索
<AdditionalDependencies>标签,找到包含matplot.lib的条目并删除;也可以全局搜索matplot.lib,清理所有相关引用。 - 保存文件后重新打开项目,执行编译测试。
4. 排查代码中的库引用指令
- 在所有
.cpp和.h文件中搜索#pragma comment(lib, "matplot.lib"),找到后删除该语句,避免代码层面自动引入库。
额外说明(单元测试项目错误)
单元测试项目的LNK2019错误是由于gtest版本与VS2017的标准库兼容性问题导致的,建议:
- 更新gtest至适配VS2017的版本,确保编译gtest时使用的C++标准与项目一致。
- 检查项目的C/C→语言→C标准设置,确保和gtest编译时的标准匹配。
内容的提问来源于stack exchange,提问作者user366312
相关产品推荐
相关产品推荐

