![](/img/trans.png)
[英]How do I find the AdditionalIncludeDirectories in a Microsoft.Build.Evaluation.Project object?
[英]%(AdditionalIncludeDirectories) meaning
认为这将是相当简单但不知何故我找不到关于此的参考。
在MSVC Include目录中,有一个Additional Include Directories设置。 设置如下
.. \\ PROJECT1; %(AdditionalIncludeDirectories)
理解第一部分是程序搜索附加程序头包含的路径。 那么“%(AdditionalIncludeDirectories)”怎么样? 这是什么意思?
它似乎不是一个宏,我理解的是以“$”为首,例如$ MACRO
谢谢
在使用项目属性的文档中有一个关于“项宏”的部分:
语法为%(name) 。 对于文件,项宏仅适用于该文件 - 例如,您可以使用%(AdditionalIncludeDirectories)指定仅适用于特定文件的包含目录。 这种项宏对应于MSBuild中的ItemGroup元数据。 当它在项目配置的上下文中使用时,项宏将应用于特定类型的所有文件。 例如,C / C ++ 预处理器定义配置属性可以采用%(PreprocessorDefinitions)项宏,该宏适用于项目中的所有.cpp文件。 这种项宏对应于MSBuild中的ItemDefinitionGroup元数据。 有关更多信息,请参阅项目定义 。
我在一个前开发人员接管的项目中遇到了完全相同的问题:他的附加包含目录是C:\\Users\\t-tshmit\\Downloads\\DirectXTK;$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)
奇怪的是, %(AdditionalIncludeDirectories)
元素不包含在编辑框中
环顾网络我找不到这个,但它显然是一个正在使用的模式,例如http://www.steptools.com/support/stdev_docs/help/settings_vc10.html中使用的屏幕截图可能包含%(AdditionalIncludeDirectories)
元素。
Additional Include Directories编译器选项和AdditionalIncludeDirectories VCCL编译器工具属性的文档不包含此%(NAME)
模式。
它们被称为“项目元数据宏”。
在Visual Studio 2008和Visual Studio 2010之间,C ++的构建系统发生了显着变化。早期项目类型中使用的许多宏已更改为新的宏。 这些宏不再使用或已被一个或多个等效属性或项元数据宏(%(名称))值替换。 标记为“已迁移”的宏可以由项目迁移工具更新。 如果包含宏的项目从Visual Studio 2008或更早版本迁移到Visual Studio 2010,则Visual Studio会将宏转换为等效的当前宏。 更高版本的Visual Studio无法将项目从Visual Studio 2008及更早版本转换为新项目类型。 您必须分两步转换这些项目; 首先将它们转换为Visual Studio 2010,然后将结果转换为较新版本的Visual Studio。 有关更多信息,请参阅潜在升级问题概述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.