2017-06-06 160 views
0

我正在嘗試創建包含所有我的C++項目中使用的包含路徑的屬性文件。在Visual Studio中包含相對於道具文件的路徑

這是存儲庫結構。

/ 
    /Libs 
     /Libs2 
      A.h 
     B.h 
    /Sln1 
     Sln1.sln 
     Proj1.vcxproj 
    Sln2.sln 
    Proj2.vcxproj 
    Props.props 

我想使用屬性文件(Props.props)來添加以下路徑兩個項目(C:\\利布斯; C:\\利布斯\ Libs2)。

目前我有宏在我的屬性文件:

Name   Value 
ProjRoot  C:\<path to rep root> 

我用它在包括字符串:$(ProjRoot)\利布斯; $(ProjRoot)\利布斯\ Libs2

的問題此解決方案是硬編碼的宏值絕對路徑。如果我的存儲庫將克隆到另一個驅動器上,我將不得不手動更改它。

我可以在宏值中使用相對於屬性文件的路徑嗎?

即:

Name   Value 
ProjRoot  ./ 

哪裏./將解析爲Props.props文件的路徑中,將使用該屬性文件中的所有項目。

我不能使用$(SolutionDir)和$(ProjectDir),因爲有可能的解決方案和項目在不同的嵌套級別,所以相對於它們的路徑不起作用。

謝謝。

回答

相關問題