【问题标题】:How to provide .lib file whose location isn't fixed?如何提供位置不固定的 .lib 文件?
【发布时间】:2014-05-07 12:19:11
【问题描述】:

让我详细说明这个问题。 我有一个解决方案文件,我们称它为 testapp.sln,我按如下方式构建此解决方案,

devenv.exe C:\fd1\fd2\fd3\fd4\testapp.sln \build Debug|Win32

问题是因为这个项目的修改很少,我现在需要使用另一个名称不固定的 .lib 文件中的一些新函数。此 .lib 所在的文件夹的名称不是恒定的。它基于平台、调试/发布、x86/x64 等。 例如,

  1. 编译 Win7 Debug 时,lib 文件的位置可能是 c:\fd1\_obj_win7_32_debug_uwin\new.lib

  2. 编译 Windows 8 x64 调试时,lib 文件的位置可能是 c:\fd1\_obj_win8_64_debug_uwin\new.lib

那么我如何在 .sln 中或通过命令行提供 lib 文件的位置?

谢谢

【问题讨论】:

  • 您是否尝试过显而易见的事情,即编辑链接器 + 常规 + 附加库目录设置?对每个配置重复。
  • 我最终做了同样的事情。实际上我正在寻找一些通用的解决方案,而不是特定的配置。我希望使用宏,但我猜你不能创建新的并且需要使用可用的宏。

标签: c++ windows visual-studio


【解决方案1】:

在旧版本的 VisualStudio 中,我曾经在 Project/Properties 下找到一个菜单元素。在那里,我可以为所有配置(x86、x64、Release、Debug,...)或按配置配置项目的不同元素。您应该在这些项目中找到其他库的列表。

【讨论】:

    【解决方案2】:

    除了使用相对路径,您还可以使用 VS 的预定义宏来实现这一点。

    $(ProjectDir) 指向你的.vcproj 文件的目录,$(SolutionDir) 是.sln 文件的目录。

    查看相关讨论的link

    【讨论】:

    • 现有的宏不足以构成名称。我在链接器设置下的附加库设置中硬编码路径作为替代解决方案。谢谢。
    猜你喜欢
    • 2022-11-30
    • 2014-09-22
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 2011-07-13
    相关资源
    最近更新 更多