一、问题描述
理论上来说,一个C++项目中规定只能存在一个main函数(执行入口),但有时我们希望在几个不同的源程序中运行多个main函数,该如何做到呢?
二、问题解决
在CMakeLists.txt文件中,使用add_executable语句添加可执行的程序列表。例如,在我的CMakeLists.txt中添加以下语句:
add_executable(C___Games_5.9 "Chapter 5/taking_damage.cpp")
代表想要添加的执行入口为Chapter 5/taking_damage.cpp这个源文件,执行文件名(自定义)为C___Games_5.9。
这样,通过将不同main函数所在的源文件分开,就可以独立地运行多个main函数。
现在,执行Chapter 5/taking_damage.cpp中的main函数:
可以看出,配置文件名(Run后面的字符串)变成了我们自定义的名称。
可以正常运行:
同样,可以运行Chapter 5/Mad_Lib.cpp中的(另一个)main函数,且不会发生冲突: