【发布时间】:2015-05-29 15:11:53
【问题描述】:
编辑:解决了 James McNellis 的建议,这导致我进入了有问题的图书馆。这是我没有用垃圾箱检查过的。
我正在构建一个 Visual Studio 2013 项目,该项目使用“#pragma comment”链接静态库,而不是在项目属性中列出库。用新版本替换库后,我收到链接错误,因为它仍在尝试查找一些旧库,例如当它应该链接“library_v12.lib”时找不到“library_v9.lib”。如何找到请求旧库的位置?这是我尝试过的:
删除所有对象等,从头开始重建。
搜索“#pragma comment”不起作用,因为它由多层宏组成,并且版本号是从 _MSC_VER 获得的,因此“9”和“12”实际上从未出现在来源。
在链接到可执行文件的所有库上运行 dumpbin /DIRECTIVES。它们都引用了正确的“12”库版本。
【问题讨论】:
-
链接
/verbose并在输出中搜索“library_v9.lib”。 -
@TScherer 您可能应该为这个问题添加一个答案,而不是解决的编辑。
标签: c++ visual-studio visual-studio-2013 linker