%(AdditionalIncludeDirectories)含义

use*_*798 11 macros visual-c++

认为这将是相当简单但不知何故我找不到关于此的参考.

在MSVC Include目录中,有一个Additional Include Directories设置.设置如下

..\PROJECT1; %(AdditionalIncludeDirectories)

理解第一部分是程序搜索附加程序头包含的路径.那么"%(AdditionalIncludeDirectories)"怎么样?这是什么意思?

它似乎不是一个宏,我理解的是以"$"为首,例如$ MACRO

谢谢

dum*_*dad 10

回答

在使用项目属性的文档中有一个关于"项宏"的部分:

项目宏

语法为%(name).对于文件,项宏仅适用于该文件 - 例如,您可以使用%(AdditionalIncludeDirectories)指定仅适用于特定文件的包含目录.这种项宏对应于MSBuild中的ItemGroup元数据.当它在项目配置的上下文中使用时,项宏将应用于特定类型的所有文件.例如,C/C++ 预处理器定义配置属性可以采用适用于项目中所有.cpp文件的%(PreprocessorDefinitions)项宏.这种项宏对应于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)模式.