【发布时间】:2017-11-07 05:41:49
【问题描述】:
我正在尝试创建包含路径的属性文件,以便在我的所有 c++ 项目中使用。
这是存储库结构。
/
/Libs
/Libs2
A.h
B.h
/Sln1
Sln1.sln
Proj1.vcxproj
Sln2.sln
Proj2.vcxproj
Props.props
我想使用属性文件 (Props.props) 将以下包含路径添加到两个项目 (C:\\Libs;C:\\Libs\Libs2)。
目前我的属性文件中有宏:
Name Value
ProjRoot C:\<path to rep root>
我在包含字符串中使用它:$(ProjRoot)\Libs;$(ProjRoot)\Libs\Libs2
此解决方案的问题是宏值中的硬编码绝对路径。如果我的存储库将被克隆到另一个驱动器上,我将不得不手动更改它。
我可以在宏值中使用相对于属性文件的路径吗?
即:
Name Value
ProjRoot ./
./ 将在所有将使用此属性文件的项目中解析为 Props.props 文件的路径。
我不能使用 $(SolutionDir) 和 $(ProjectDir) 因为可能存在不同嵌套级别的解决方案和项目,因此相对于它们的路径不起作用。
谢谢。
【问题讨论】:
标签: c++ visual-studio visual-c++ include-path