繁体   English   中英

%(AdditionalIncludeDirectories)含义

[英]%(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)模式。

https://docs.microsoft.com/en-us/cpp/build/reference/common-macros-for-build-commands-and-properties?view=vs-2019

它们被称为“项目元数据宏”。

在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM