【问题标题】:How to set relative include path in Visual Studio 2010?如何在 Visual Studio 2010 中设置相对包含路径?
【发布时间】:2015-12-09 20:45:43
【问题描述】:

我编写了一个名为 MyLib 的库,其中一些 Visual Studio 项目位于 MyLib\Samples\ 中,包含文件位于 MyLib\inc 中。为了使这些包含文件可以在项目中访问,我需要在项目属性中添加它们的路径。

我想使用相对路径,这样每次将整个库文件夹移动到其他地方时就不需要更改属性。但是相对路径是什么样的呢?比如其中一个项目路径是:...\MyLib\Samples\proj1,我如何表示...\MyLib\inc相对于项目路径?

【问题讨论】:

  • 这可能已经过时,但您可以创建一个 .bat 文件,为映射定义一个 subst 命令。例如 S:\Sources 映射到给定系统上的文件夹 C:\xxx\xxx\Sources 文件夹。不确定它是否适用于您的解决方案。但是无论环境如何,您引用的所有内容都可以使用 s:\Sources。
  • 是的,这是构建系统的一个基本特性,MSVS似乎没有什么好的方法。我希望有人能找到这个并给我们一个体面的答案!

标签: visual-studio path


【解决方案1】:

使用the $(SolutionDir) or $(ProjectDir) MSBuild properties 根路径。它们在构建时分别替换为解决方案和项目所在的目录。

【讨论】:

  • 这并不真正适用于这个问题(据我所知)。用例是当项目使用库时,您希望库的客户端从库继承包含路径。 $(SolutionDir) 和 $(ProjectDir) 将是相对于库客户端的路径,而不是库。
  • 这里的最佳做法是在这种情况下不使用相对路径。我过去曾使用过使用相对路径的代码库,后来引入将相对路径项目导出为库以供外部使用导致了绝对的地狱 - 淹没了额外的包含属性以适应每个项目的 $(ProjectDir) 字段。不好。
  • 找了很久。如此简单!
【解决方案2】:

您正在寻找的是您项目的自定义属性

Visual Studio 支持定义 custom properties,例如,您可以随后在包含路径中的宏扩展中使用它。

以下是它的外观示例:

【讨论】:

    猜你喜欢
    • 2011-04-06
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 2017-11-07
    • 2022-01-02
    相关资源
    最近更新 更多