如何在Visual Studio中组织一个大型C++项目

7
我想把我的源代码分成文件夹,通过将文件分组到目录中来更好地组织它们。
通常有很多.h和.cpp文件,我通常会将它们分开放在文件夹中。我一直使用Netbeans,但最近我决定测试Visual Studio。
当开始编写代码(一个小东西,跟随SDL游戏创建教程),我开始组织源代码在文件夹中。在Visual Studio中,当我使用C++时,我看到添加筛选器的选项,以组织文件结构,但我没有看到添加文件夹的选项。
我可以将代码组织成视觉上看起来像文件夹结构的形式,但当我去检查文件时,它们都混在程序的根目录下。菜单选项只允许我添加筛选器:

显然,它会被组织起来,但仅在视觉上,所有代码仍保持在原位。

我想知道在Visual Studio中是否有一种将这些筛选器转换为文件夹的方法,或者如何通过Visual Studio添加文件夹,因为我最终不得不手动创建文件夹并重新组织。虽然我通常没有相同名称的文件,但在这种环境下,这几乎是不可能的。此外,如果您需要查找某些内容或需要在将来切换IDE,则会变得非常混乱,因为我认为这种逻辑组织在Eclipse、Netbeans等其他IDE中不会被重用。

可能是如何在Visual Studio C++ 2012中创建文件夹的重复问题。 - Robert Andrzejuk
1
对于我来说(在项目中有几百个源文件的情况下),我管理这么多代码的方法是将项目分成几个库。在这些库内部,我再细分为解决方案文件夹。话虽如此,我使用 CMake 生成项目,因此我不会直接在 IDE 中创建解决方案文件夹。 - drescherjm
请注意,即使您有多个文件夹,也不应该有具有相同名称和扩展名的文件。在构建解决方案时创建的.obj文件将被最后一个具有相同名称的文件覆盖,并且您将收到链接器错误(例如,请参见此解释)。 - Markus
1个回答

1

正如你所说,过滤器只是一种纯视觉效果,你可以使用文件资源管理器将文件组织到实际的目录中,或者在向项目添加新项时指定文件将被创建的路径。解决方案资源管理器本身不提供在磁盘上移动文件的方法。

请注意,如果您实际上使用多个目录,则需要在#include指令中包含部分路径,或更改项目包含搜索路径,以便找到该文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接