【问题标题】:Method to make IncludeDirs available to external tool使 IncludeDirs 可用于外部工具的方法
【发布时间】:2014-11-12 13:21:27
【问题描述】:

我目前正在尝试在 Visual Studio 2010 中将夹板作为外部工具提供。

查找文件的所有包含时存在问题,因为似乎 INCLUDE 变量仅在构建时设置,我还没有找到任何其他可能性以任何方式提取包含文件。

我的问题:有什么方法可以从当前文件的项目属性页面中提取 IncludeDir 字段,最好是使用 VC++ 的 AdditionalIncludeDirectories?

【问题讨论】:

    标签: visual-studio-2010 visual-studio msbuild splint


    【解决方案1】:

    另请注意,AdditionalIncludeDirectories 是针对每个文件的,因为它可以针对单个源文件以及项目级别进行更改,如果它包含宏,它也可以针对每个源文件进行不同的评估!

    我不熟悉通过 API 驱动 MSBuild 对象,但 IDE 会使用它。无论是这种方式还是简单地运行 MSBuild.exe,您都需要让它找出所有属性、条件等,然后告诉您结果。如果一切正常,您可以创建一个目标,该目标也使用 ClCompile 项目数组并以某种方式发出 %(AdditionalIncludeDirectories) 元数据,例如将其写入文件或以某种方式将其传递给您的其他工具。这就是用来生成 CL 的 /I 参数的,你可以得到相同的值。

    如果在详细的构建过程中更改了必要的值时表现不佳,则您也需要像 ClCompile 目标通常那样完成相同的预定义。或者只是用你自己的重写 ClCompile(使用目标的最后定义),所以它肯定在同一个上下文中。

    无论哪种方式,都有一些地方可以将构建脚本文件自动包含到所有项目中,因此您可以在那里添加您的东西或使用命令参数(我认为)到 MSBuild 来添加另一个包含。

    ——约翰

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      • 2017-08-19
      • 1970-01-01
      相关资源
      最近更新 更多