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中完成。您可以在项目属性中为所有文件夹设置包含路径(它不是递归的): 要访问项目配置,请执行以下操作:
调试
实用程序
等
/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++>命令行>其他选项