有什么方法可以在相对于 .vsprops 文件目录的 .vsprops 文件路径中指定?
例如,我有以下目录结构:
largesolution.sln
a/a.vcproj
b/c/c.vcproj
common/common.vsprops
两者
a.vcproj
和 c.vcproj
包括 common.vsprops
,我想添加一些宏或设置相对于 common
的包含目录无论解决方案目录包含两个项目的文件夹。我试过使用 $(InputDir)
在 .vsprops 文件中,但似乎这个宏被扩展为包含 .vcproj 的目录,而不是 .vsprops 文件。在 Visual C++ 目录中设置绝对路径或设置全局包含路径都不是解决方案,因为不同的开发人员具有不同的源代码树根位置。设置相对于
$(SolutionDir)
的路径不适合,因为在主源树之外的某处拥有包含一些子集 ob 项目(例如,仅 a.vcproj)的较小解决方案很有用。当然,设置include目录在
a.vcproj
至 $(ProjectDir)..\common
工作正常,但要实现的结果仅包括 .vsprops 并正确设置路径。
最佳答案
您可以使用 MSBuildThisFileDirectory 宏。
例如:
您在 common.props 中将包含目录设置为“$(MSBuildThisFileDirectory)\include;$(IncludePath)”。
见 http://msdn.microsoft.com/en-us/library/vstudio/ms164309.aspx详情。
使用 MSVS2012 和 MSVS2013 进行测试。
关于visual-studio - 如何在 .vsprops 文件中指定相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347000/