一个Visual Studio项目中的多个C ++主文件

时间:2019-02-16 21:57:32

标签: c++ visual-studio

我刚刚开始C ++编程之旅(来自许多其他语言)。因为我正在学习基础知识,所以我想在一个项目中存储许多简单的C ++程序。这些简单的控制台类型应用程序都将包含一个主要功能。

在创建一个空的C ++项目时,Visual Studio将创建15个文件,总大小为546KB。为了节省我的计算机的空间,最好在单个项目中为每个小型C ++程序提供子文件夹,以供学习。

是否可以将基于控制台的不同程序分解到同一Visual Studio C ++项目中的单独文件夹中?我正在使用VS 2017社区版。

修改: 我了解您可以创建一个包含多个项目的VS解决方案。上面说明了我不想这样做的原因。 546KB的空间足以分配给运行小型控制台应用程序。最好有许多可以在单个项目中独立运行的程序。 VS中是否可以选择从所有主要C ++文件中调用哪个主要函数?

2 个答案:

答案 0 :(得分:-1)

您可以为项目中拥有的每个主要功能使用单独的项目配置(例如,创建名为Main1和Main2的项目配置)。然后,您可以通过编辑.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无法正确更新解决方案资源管理器,并且您需要重新加载项目才能查看当前文件。 / p>

答案 1 :(得分:-1)

使用“从构建中排除”属性代替有条件的包含,以排除不应作为当前配置的一部分进行编译的文件。这将显示解决方案资源管理器中的所有文件,但仅在实际执行构建时才包括适当的文件。这有点倒退,但与UI很好地配合。它具有VS属性编辑器无需打开和手动编辑vcproj文件即可完成的其他好处。

从构建中排除属性在文件属性配置属性->常规中找到。打开解决方案资源管理器(View-> Solution Explorer),右键单击该文件,该窗格应为默认窗格。

相关问题