LNK1004:无法打开文件'Jsfwbase12D.lib'

LNK1004: Cannot open file 'Jsfwbase12D.lib'

本文关键字:Jsfwbase12D lib 文件 LNK1004      更新时间:2023-10-16

所以,我对这个错误有点困惑,我正在编译/链接一个c++项目。

在链接器配置的Input部分,我们有一个文件名为Jsfwbase12D.lib的附加依赖项。该文件最近更改为Jsfwbase12。lib不带大写D。我将项目中的引用更改为新文件名,然后尝试重新编译,并得到以下错误信息。

Error   2   fatal error LNK1104: cannot open file 'Jsfwbase12D.lib' m5gaddrs    m5gaddrs

我在记事本中打开vcproj文件并搜索旧文件名,它发现零结果。

有没有人知道为什么链接器不寻找正确的文件,而是试图找到旧的?

编辑:我在记事本中打开obj文件,发现旧的Jsfwbase12D。自由参考。看来这就是连接器失效的原因。现在真正的问题是,为什么编译器插入那些引用调试模式,如果他们没有指定任何地方?

/DEFAULTLIB:"Jsfwbase12D.lib"

您的代码可能在某处包含#pragma comment(lib, "Jsfwbase12D.lib")。这会通知链接器在链接期间包含的依赖项。