代码之家  ›  专栏  ›  技术社区  ›  Owen

“lnk1104:无法打开文件'x'”:如何确定要将x链接到谁?

  •  2
  • Owen  · 技术社区  · 17 年前

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

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

    当我遇到头文件的这种问题(不知道哪个文件包括头文件)时,我通常重命名问题头以导致 C1083: Cannot open include file 错误,它告诉我请求它的源文件是什么。但是这里 LNK1104 几乎没有那么有用。有人对我如何追踪这个有什么想法吗?谢谢。

    1 回复  |  直到 17 年前
        1
  •  4
  •   Tim Sylvester    17 年前

    在“项目设置/链接器/常规”下,有一个名为“显示进度”的设置,如果将其设置为“详细”,链接器将向您显示所有类型的内容,包括它找到的“默认库”项。这可能会有所帮助,具体取决于导入是否来自lib文件。

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

    国际单项体育联合会图书馆 X 是不是有点像 msvcrt ,那么依赖关系可能来自您正在使用的外部或第三方库,避免这种情况的唯一实际方法是添加 X 到项目设置/链接器/输入下的“忽略特定库”选项。