0

我正在构建跨平台项目。它在 Linux 环境下启动,并使用 cmake 构建。也有在 Windows 上使用 cmake 的方法,但我认为 Visual Studio 会更容易处理。

所以现在我在单独的文件夹上创建了空解决方案(不要将源文件与 VS 混合)。但问题是我需要使用绝对路径将每个文件夹添加到 Visual Studio 中。当从另一台 Windows 机器上使用此解决方案时,这很糟糕。

主要问题:有没有办法指定包含目录的相对路径? 类似 $(solution_source_folder)..\source\some_component_folder 的东西其中 solution_folder_path 是解决方案真正所在的路径,解决方案文件夹与源文件夹处于同一级别。

4

2 回答 2

2

我不确定为什么你觉得有必要让你的解决方案远离你的代码。它们不会互相干扰,这将使向您的 VS 项目中添加文件变得更加容易。

回到您的问题,您可以使用属性表来指定跨项目的包含目录。只需在标题所在的位置设置一个变量并将其添加到包含路径(在属性表中)。然后将该属性表添加到 Visual Studio 中的项目中。

变量 $(SolutionDir) 指向您的解决方案所在的目录。您可以以此为起点来获取文件的相对路径。

于 2013-06-19T19:41:36.877 回答
0

如果您只是添加相对的文件或项目,我不知道您是如何获得绝对路径的。您也可以编辑文件并在其中写入您认为合适的任何内容。

在项目设置中,您有大量的宏,包括可以用作前缀的各种路径。

项目还包括来自本地用户帐户的特定于用户的 .props 文件,如果库存宏不够,您可以在那里定义安装/机器特定的属性。

查看此处此处了解更多详细信息。对于您的代码问题 $(SolutionPath) 是前缀。

于 2013-06-19T19:10:55.633 回答