【问题标题】:How to exclude .lib file from linker command line argument in VC++如何从 VC++ 中的链接器命令行参数中排除 .lib 文件
【发布时间】:2010-12-31 10:54:22
【问题描述】:

我正在编译一个显示以下错误的 vc++ 程序 error LNK1104: cannot open file 'D:\Visual Studio 2010\Projects\credentialproviders\Win32\Debug\Helpers.lib'

我如何从链接器命令行参数中删除 Helpers.lib 文件引用,因为在 project settings->linker->commandline 中它处于 readonly 模式,我无法编辑它以删除那条线。我正在使用 Visual Studio 2010。

谢谢

【问题讨论】:

  • 如果你确定删除它是正确的,你可以通过 Linker->Input->Additional Dependencies 这样做。
  • 它不存在,我在那里搜索但不存在具有该名称的库。
  • 它必须在那里。尝试不同的配置(调试/发布)
  • 它不应该在那里,至少存在另外两种链接方式,看看我下面的回复

标签: visual-studio-2010 visual-c++ linker


【解决方案1】:

搜索 .vcproj 文件和“Helpers.lib”的项目源代码。有几个地方可以链接,这是最简单的查找方法。

否则,寻找:

  1. 项目属性 -> 链接器 -> 输入
  2. 在解决方案资源管理器中,查看 .lib 是否包含在项目树的任何位置。
  3. 源代码中的任何位置,#pragma comment(lib, "helpers.lib")
  4. 如果 Helpers 是您解决方案中的一个项目,请检查该项目的项目依赖关系。默认情况下,如果项目依赖 thisk 链接,则会隐式完成。

【讨论】:

    【解决方案2】:

    如果在 Linker->Input->Additional Dependencies 中没有引用此库,请检查 Project Dependencies,并删除对 porject Helpers 的任何依赖。这个链接也有可能是#pragma comment(lib, "Helpers)的代码完成的

    【讨论】:

      【解决方案3】:

      我真的不认为上面的回答正确。我刚刚遇到了同样的问题,解决它的方法是转到 View->Property Manager。双击Microsoft.Cpp.Win32.user 并转到链接器-> 输入。在那里,您可以编辑以前只读的附加依赖项。如果需要,对调试/发布版本都执行此操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多