解决VS2022工程中多个含main()函数源码文件同时编译问题

发布时间 2023-08-15 23:15:00作者: 雏扬

做编程练习时,我常常将源码文件放在一个工程中管理,写出的每个源码文件中都包含一个main()函数。于是出现这样的问题:

image
image

于是生成失败。这是因为,

在VS2022中,一个工程里只能有一个入口函数main()。

这样的要求对于一个完整的工程来说其实也比较合理,但是对我来说很不方便。于是,通过以下所示将其他文件从生成中排除的方法解决。


例如,有两个文件:
image

我想要编译运行04_02.cpp,那么做如下操作:

  1. 右键单击04_01.cpp(我想让04_02.cpp编译,就要禁止其他文件编译),单击“属性”。
    image

  2. 在打开的“04_01.cpp 属性页”中,找到“常规”一栏下的“从生成中排除”选项。
    image

  3. 下拉选项中选择“是”。
    image

  4. 点击确定,该文件的图标右下角显示出一个小小的“-”号:
    image
    接着即可正常编译运行04_02.cpp。

按此方法,每新增一个文件,都对上一个文件同样方法操作(即:保证整个工程当中只有需要编译的文件没有被排除),即可避免这种问题。