有没有办法在相对于.vsprops文件目录的.vsprops文件路径中指定?
例如,我有followind目录结构:
largesolution.sln
a/a.vcproj
b/c/c.vcproj
common/common.vsprops
a.vcproj
和c.vcproj
都包含common.vsprops
,我想添加一些相对于common
文件夹的宏或set include目录,无论解决方案目录是否包含两个项目。我尝试在.vsprops文件中使用$(InputDir)
,但似乎这个宏扩展为包含.vcproj的目录,而不是.vsprops文件。
在Visual C ++目录中设置绝对路径或设置全局包含路径不是解决方案,因为不同的开发人员具有源树根的不同位置。设置相对于$(SolutionDir)
的路径是不合适的,因为让较小的解决方案在主源树之外的某处包含一些子集ob项目(例如,仅限a.vcproj)是有用的。
当然,在a.vcproj
到$(ProjectDir)..\common
中设置include目录工作正常,但要实现的结果只包括.vsprops并且路径设置正确。
答案 0 :(得分:2)
您可以使用MSBuildThisFileDirectory宏。 例如: 您可以在common.props中将Include Directories设置为“$(MSBuildThisFileDirectory)\ include; $(IncludePath)”。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/vstudio/ms164309.aspx。
使用MSVS2012和MSVS2013进行测试。