单个VisualStudio项目中的多个C++主文件 我刚刚开始了C++编程的旅程,它来自其他许多语言。因为我正在学习基础知识,我想在一个项目中存储许多简单的C++程序。这些简单的控制台类型应用程序中的每一个都将包含一个主功能 < >创建一个空的C++项目时,VisualStudio创建了15个文件,文件为566KB。为了节省我的计算机上的空间,最好在每个项目的小C++程序内都有子文件夹。 P>是否可以将不同的基于控制台的程序分割成同一VisualStudioC++项目中的单独文件夹?我正在使用VS2017社区版

单个VisualStudio项目中的多个C++主文件 我刚刚开始了C++编程的旅程,它来自其他许多语言。因为我正在学习基础知识,我想在一个项目中存储许多简单的C++程序。这些简单的控制台类型应用程序中的每一个都将包含一个主功能 < >创建一个空的C++项目时,VisualStudio创建了15个文件,文件为566KB。为了节省我的计算机上的空间,最好在每个项目的小C++程序内都有子文件夹。 P>是否可以将不同的基于控制台的程序分割成同一VisualStudioC++项目中的单独文件夹?我正在使用VS2017社区版,c++,visual-studio,C++,Visual Studio,编辑: 我知道您可以创建一个包含多个项目的VS解决方案。我不想这样做的原因已经在上面解释过了。546KB是分配给运行小型控制台应用程序的大量空间。最好是在一个项目中有许多可以独立运行的程序。在VS中有一种方法可以选择从所有主C++文件中调用哪个主函数?< p>可以为项目中的每个主要功能使用单独的项目配置,例如创建名为MIN1和MIN的项目配置。然后,您可以通过编辑.vcxproj文件有条件地包括实现相关主功能的.cpp文件,例如: <ClCompile Include="main1.cpp

编辑:
我知道您可以创建一个包含多个项目的VS解决方案。我不想这样做的原因已经在上面解释过了。546KB是分配给运行小型控制台应用程序的大量空间。最好是在一个项目中有许多可以独立运行的程序。在VS中有一种方法可以选择从所有主C++文件中调用哪个主函数?

< p>可以为项目中的每个主要功能使用单独的项目配置,例如创建名为MIN1和MIN的项目配置。然后,您可以通过编辑.vcxproj文件有条件地包括实现相关主功能的.cpp文件,例如:

<ClCompile Include="main1.cpp" Condition="'$(Configuration)' == 'Main1'" />
<ClCompile Include="main2.cpp" Condition="'$(Configuration)' == 'Main2'" />
这将仅包括名为main1的配置的main1.cpp和名为main2的配置的main2.cpp


但我不建议这样做,因为当您切换当前配置时,Visual Studio 2017无法正确更新解决方案资源管理器,并且您需要重新加载项目以查看当前文件。

使用Excluded from build属性来排除不应作为项目一部分编译的文件,而不是条件包含当前配置。这将在解决方案资源管理器中显示所有文件,但仅在实际执行生成时包含相应的文件。这有点落后,但与UI配合得很好。它还有一个额外的好处,即VS属性编辑器无需打开并手动编辑vcproj文件即可执行此操作


“从生成中排除”属性位于文件属性配置属性->常规。打开“解决方案资源管理器视图”->“解决方案资源管理器”,右键单击该文件,该窗格应为默认窗格。

您应该有一个解决方案,可以有多个项目。这样,如果您选择每个项目都有自己的文件夹,那么您将拥有您所请求的文件夹布局。只需有一个主功能,每个子程序都有自己的功能。调用main函数中的子程序。请参阅问题编辑,了解我为什么不希望在单个解决方案中使用多个项目。如果您担心磁盘使用率,则不应该使用Visual Studio。使用更轻量级的东西。我使用Visual Studio,所以我没有其他选择。很多人使用Code::Blocks,但不要将其视为个人推荐。谢谢你的否决票!这个答案解决了问题,但正如我所说的——由于UI问题,不建议使用它,但是我自己不能投反对票:只是提醒一下,投反对票的不是我。非常感谢你的回答。我已经决定暂时使用一些更轻量级的工具,比如visualstudio命令行工具。