C++ &引用;LNK1104:无法打开文件';X'&引用;:如何找出谁想要链接X?

C++ &引用;LNK1104:无法打开文件';X'&引用;:如何找出谁想要链接X?,c++,visual-studio,linker,C++,Visual Studio,Linker,好吧,我被难住了。我正在摆弄一些项目设置,试图开始链接库Y而不是库X。当我搜索项目文件(.vcproj)和所有继承的属性表(.vsprops)时,没有对库X的引用。我已关闭并重新打开Visual Studio,以确保它没有保留项目的某些旧版本。然而,正如标题所暗示的,我仍然得到了链接错误 LINK : fatal error LNK1104: cannot open file 'X' 当我遇到头文件的此类问题(不知道哪个文件包含该头文件)时,我通常会重命名问题头文件,以导致C1083:cann

好吧,我被难住了。我正在摆弄一些项目设置,试图开始链接库Y而不是库X。当我搜索项目文件(
.vcproj
)和所有继承的属性表(
.vsprops
)时,没有对库X的引用。我已关闭并重新打开Visual Studio,以确保它没有保留项目的某些旧版本。然而,正如标题所暗示的,我仍然得到了链接错误

LINK : fatal error LNK1104: cannot open file 'X'

当我遇到头文件的此类问题(不知道哪个文件包含该头文件)时,我通常会重命名问题头文件,以导致
C1083:cannotopeninclude file
错误,这会告诉我哪个源文件请求它。但是这里的
LNK1104
几乎没有那么有用。有没有人知道我该如何追踪这件事?谢谢。

在项目设置/linker/general下有一个名为“显示进度”的设置,如果将其设置为“/VERBOSE”,链接器将向您显示各种内容,包括它找到的“/DEFAULTLIB”项。这可能会有所帮助,具体取决于导入是否来自lib文件

您还应该在解决方案源代码中搜索“#pragma comment(lib,…”,这会导致在链接时包含默认库


如果库X类似于
msvcrt
,那么依赖关系可能来自您正在使用的外部或第三方库,避免这种情况的唯一实用方法是将X添加到项目设置/linker/input下的“忽略特定库”选项中。

谢谢!这确实很有帮助。