C++ 指定Visual Studio 2015查找头文件的位置

C++ 指定Visual Studio 2015查找头文件的位置,c++,visual-studio,visual-studio-2015,C++,Visual Studio,Visual Studio 2015,我正在Visual Studio 2015中使用C++/OpenGL和一些有用的库开发一个项目 我将自己的代码分为两个主目录:“/src”用于所有.cpp文件,以及“/include”目录用于所有标题。两个文件夹的目录结构相同,即:所有与图形相关的文件进入“/include/graphics”或“/src/graphics”,具体取决于它们是源代码(.cpp)还是标题(.h) 如果我想“#包含”头文件(始终位于“/include”中),VS2015仍将在“/src”目录中查找头文件即使找不到任

我正在Visual Studio 2015中使用C++/OpenGL和一些有用的库开发一个项目

我将自己的代码分为两个主目录:“/src”用于所有.cpp文件,以及“/include”目录用于所有标题。两个文件夹的目录结构相同,即:所有与图形相关的文件进入“/include/graphics”或“/src/graphics”,具体取决于它们是源代码(.cpp)还是标题(.h)

如果我想“#包含”头文件(始终位于“/include”中),VS2015仍将在“/src”目录中查找头文件即使找不到任何文件夹,它仍会将这些文件夹添加到列表中。

我知道我可以使用括号(#include”)来消除这个问题。但由于C++/VS2015本身的原因,括号列表已经非常拥挤

我已经尝试更改一些项目设置。也就是说,我在“C++/General/Additional include目录”下添加了“/include”目录。我已经将“/src”文件夹添加到“VC++目录/源目录”中

问题1:有没有办法阻止VS2015在包含列表中两次显示这些“/src”目录?

问题2:我如何管理“包含列表”中显示的内容和未显示的内容?


虽然它可能是一个功能,但它确实令人讨厌,在这种情况下没有任何用途。两个列表条目都可以选择,它们将起作用。我认为这是因为VS2015“找出”头文件实际位于哪个目录。

无需向
源目录添加任何内容。您的所有源文件都已是项目的一部分,而
源目录
可用于处理外部代码

无需将
/include
目录添加到
其他include目录
,也无需使用
将它们包括在内,只有在开发仅页眉的库时才有意义。通常,当包含来自同一项目的头文件时,会使用相对路径,例如
Engine.cpp
可以包含
#include../include/Engine.h“
。正如您所见,将头文件存储在单独的文件夹中会使包含它们变得有些难看,因此您可能希望将相应的源文件和头文件存储在同一文件夹中,以便可以像
#include“Engine.h”
那样包含头文件

请注意,VisualStudio在“解决方案资源管理器”中提供了“过滤器”视图,在该视图中,如果仍要对头文件和源文件进行分组,您仍然可以将它们分别分组