【问题标题】:"LNK1104: cannot open file 'X'": How to find out who wants X linked in?“LNK1104:无法打开文件'X'”:如何找出谁想要Xlinkedin?
【发布时间】:2009-09-11 01:00:28
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ visual-studio linker


    【解决方案1】:

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

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

    如果库 X 类似于 msvcrt,则依赖项可能来自您正在使用的外部或第三方库,避免这种情况的唯一实用方法是在项目设置/链接器/输入下的“忽略特定库”选项中添加X

    【讨论】:

    • 谢谢!这确实很有帮助。
    猜你喜欢
    • 2015-11-11
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多