4

有没有办法在 .vsprops 文件中指定相对于 .vsprops 文件目录的路径?

例如,我有以下目录结构:

largesolution.sln
a/a.vcproj
b/c/c.vcproj
common/common.vsprops

a.vcprojc.vcprojinclude common.vsprops,我想添加一些宏或设置相对于文件夹的包含目录,无论common两个项目都包含在解决方案目录中。我试过$(InputDir)在 .vsprops 文件中使用,但似乎这个宏被扩展为包含 .vcproj 的目录,而不是 .vsprops 文件。

在 Visual C++ 目录中设置绝对路径或设置全局包含路径不是解决方案,因为不同的开发人员有不同的源树根位置。设置相对于的路径$(SolutionDir)不适合,因为在主源树之外的某处包含一些子集 ob 项目(例如,仅 a.vcproj)的较小解决方案很有用。

当然,将包含目录设置a.vcproj$(ProjectDir)..\common工作正常,但要实现的结果仅包括 .vsprops 并正确设置路径。

4

1 回答 1

2

您可以使用 MSBuildThisFileDirectory 宏。例如:您在 common.props 中将 Include Directories 设置为“$(MSBuildThisFileDirectory)\include;$(IncludePath)”。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/vstudio/ms164309.aspx

使用 MSVS2012 和 MSVS2013 测试。

于 2013-12-19T06:58:09.113 回答