符号链接包含 Visual Studio 中的文件夹

Symbolic Links as include folders in Visual Studio

我的文件夹结构是这样的:

.
└─ Projects
   ├─ MyProject
   |  ├─ lib
   |  ├─ src
   |  └─ include
   └─ MyOtherProject
      ├─ src
      └─ include

我需要 MyProjectMyOtherProject 的 headers 并且我使用以下命令 mklink /D "Projects/MyProject/include/MyOtherProject" "Projects/MyOtherProject/include" 创建了一个符号 link 但是当使用 Visual Studio 它无法识别包含目录中的 MyOtherProject 文件夹。

我已经在 VS 中将 Additional Include Directories 变量设置为 $(ProjectDir)include,它的计算结果应该是 Projects/MyProject/include

至于我的问题,我认为 Visual Studio 支持使用符号 links 吗?如果支持,我做错了什么?

我正在使用 Windows 10 和 Visual Studio 2017。

您正在 mklink /D "Projects/MyProject/include/MyOtherProject" "Projects/MyOtherProject/include" 中使用正斜杠 - 使用反斜杠并在资源管理器中创建测试 link。

创建符号 link 时,您必须考虑相对于 link 目录的目标。 mklink /D "Projects\MyProject\include" "..\MyOtherProject\include" 或给出完整的绝对路径。

在我看来,目录联结 (mklink /j "MyProject\include" "MyOtherProject\include") 更易于使用。我用它们来重定向 Firefox、Thunderbird 和其他程序使用的目录。

对于额外的包含,我只使用 include。你甚至可以直接使用 ..\MyOtherProject\include 而无需 symlink 或 junction.