【问题标题】:Visual Studio - Cannot remove specific ".lib" file from Linker's Command Line. How can I edit it?Visual Studio - 无法从链接器的命令行中删除特定的“.lib”文件。我该如何编辑它?
【发布时间】:2017-01-30 09:41:31
【问题描述】:

screenshot of my problem

我尝试将链接器设置为指向我的“.lib”文件(在设置 Visual Studio 以将 DirectX 9 用作 cpp win32 项目的过程中)。

我在 Project->Properties->Linker->Input(也是一般情况下)通过将 d3d9.libd3dx9.lib 添加到附加目录框中。 (见下图)

我第一次肯定错过了分隔 kernel32.libd3dx9.lib 的分号,因为现在在链接器的命令行下(如在PHOTO) 它将 "d3dx9.libkernel32.lib" 列为要在其中搜索的单个 lib 文件。
我无法编辑此只读命令行。我无法运行我的项目,因为我收到 LNK1104 错误提示:

致命错误 LNK1104:无法打开文件 'd3dx9.libkernel32.lib'。

无论我如何编辑和更改链接器依赖项的“输入”和“常规”类别,我都无法从链接器命令行中删除虚假文件。我什至卸载了 VS,清理了 VS 注册表,并重新安装了几次 Visual Studio,但仍然存在缺少链接器的错误,虚假文件仍然显示在命令行中。创建新项目并将 VS 重置为默认设置也无济于事...... :( 请帮忙,
谢谢

【问题讨论】:

  • 我认为链接器引用存储在项目属性文件中,因此重新安装 VS 不起作用。你能用你最喜欢的文本编辑器打开.vcxproj 文件,然后删除有问题的链接器引用吗?
  • @Bernard 在 .vcxproj 我确实看到了一些与链接器设置相关的东西,VS 允许我更改内部属性,但我没有看到实际的链接器参考文献。

标签: c++ visual-studio linker linker-errors lib


【解决方案1】:
  1. 转到 Project->Properties->Linker->Input,查看是否在“Additional Dependencies”字段中找到有问题的链接器引用。

  1. 如果没有,请单击右侧的箭头,然后单击下拉菜单中的“编辑...”。

  2. 在出现的窗口中,点击“宏>>”。

  1. 编辑“%(AdditionalDependencies)% 字段以删除有问题的链接器引用。

【讨论】:

  • 这不起作用。一旦我进入您在 中的最后一个屏幕截图的窗口,它不会让我更改/编辑任何内容。无论如何感谢您的输入。
【解决方案2】:

更新:
在自己尝试解决这个问题并让我的一群同龄人试一试之后,我把这个问题介绍给了我的教授,他似乎也不完全知道他在做什么,但他设法摆脱了在 Properties 窗口和 @Bernard 提到的 Linker dependencies 窗口中四处寻找之后的违规链接器引用。
之前多次更改所有这些设置都没有成功似乎有点幸运......我不确定我们更改属性的顺序,但它与我们未选中 所有那些 Inherit from parent or project defaults 复选框(其中一个在 @Bernard 的最后第二张截图中可见)并重新保存 .lib 链接器的 其他依赖项中的文件。
不用说,现在它以某种方式起作用了!

感谢大家的帮助。
干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    相关资源
    最近更新 更多