C++ Visual Studio 2015中的递归包含路径

C++ Visual Studio 2015中的递归包含路径,c++,visual-studio,C++,Visual Studio,所以我对使用VisualStudio还不熟悉,我正在尝试创建一个项目来编译我现有的程序。该程序已在macOS上使用Xcode进行编译。项目的文件夹结构如下所示: main folder src some code here Debug some code here Utility some code here Special Utility Folder Rendering some code here


所以我对使用VisualStudio还不熟悉,我正在尝试创建一个项目来编译我现有的程序。该程序已在macOS上使用Xcode进行编译。项目的文件夹结构如下所示:

main folder
  src
    some code here
    Debug
      some code here
    Utility
      some code here
      Special Utility Folder
    Rendering
      some code here
      Rendering Utils
...
当我试图将该项目加载到VisualStudio中时,我遇到了很多错误,说找不到头文件。我做了一些调查,似乎include路径不是递归的。因此,要包含来自src/Utility的文件,我必须编写

#include "Utility/header.hpp"
但是项目中的所有代码都使用了

#include "header.hpp"
有没有办法让它在VisualStudio中工作


请注意,手动添加所有文件夹作为其自己的包含路径是可行的,但随着项目的发展,维护这些文件夹将是一件痛苦的事情,特别是因为我的大部分工作将在Xcode中完成。您可以在项目属性中为所有文件夹设置包含路径(它不是递归的):

要访问项目配置,请执行以下操作:

  • 在项目上单击鼠标右键,然后选择“属性”
  • 选择配置属性->C/C++->General
  • 在“其他包含目录”下设置路径: i、 e.:
    调试
    实用程序
  • 也许您还可以使用cmd工具在txt文件(即:IncludePath.txt)中创建includes路径。 在该文件中,您可以添加包含文件夹:

    /I "."
    /I ".."
    /I ".\Debug"
    /I ".\Utility"
    
    然后在“其他包含目录”下设置路径:

    @IncludePath.txt
    

    对于我所知道的C++编译器,包含路径不是递归的。如果我知道为什么X代码是这样工作的话,就必须挂起。他们可能正在做一些看不见的“有用”的事情。@user4581301这是我的猜测手动添加每个路径确实有效,正如我在原始问题中所说的,但我正在寻找一个更优雅的解决方案IncludePath.txt解决方案是否真的有效(VS 2015)?我找不到关于它的任何文档…我知道它很旧,但我偶然发现了这个,我想我会说:是的,它确实有用。您可以使用“cl@”向cl编译器提交一个命令行选项文件,如下所述:……正如Rama所建议的,尽管这对任何命令行开关都有效,但这是封装大量“/I”include目录指令的好方法。因此,根据Rama的示例,您还可以将“@IncludePath.txt”添加到:项目>属性>配置属性>C/C++>命令行>其他选项