解决Clion中多个cpp文件运行时出现multiple definition of `main'

在最初使用Clion这款软件做C++开发时,有时会遇到在同一个Project中有多个cpp文件,而每个cpp文件又都有main函数,因此运行时会出现multiple definition of `main'这样的错误。

一,问题重现

解决Clion中多个cpp文件运行时出现multiple definition of `main'

二,解决问题

这是因为一个编译链接生成的EXE文件只能有一个main函数,为了能使多个带main函数的cpp文件能在同一project中运行,我们需要在CMakeList.txt中做一些修改。在add_executable()中给cpp文件取一个别名,这个别名便会成为生成的EXE文件的名字。先看一下未修改之前的:

解决Clion中多个cpp文件运行时出现multiple definition of `main'

下面我们修改一下:

解决Clion中多个cpp文件运行时出现multiple definition of `main'

然后运行一下:

 

解决Clion中多个cpp文件运行时出现multiple definition of `main'

第二cpp文件的运行:

解决Clion中多个cpp文件运行时出现multiple definition of `main'

没有报错都成功执行了。

接着看一下生成的EXE文件:

解决Clion中多个cpp文件运行时出现multiple definition of `main'

至此问题就彻底解决了!大家有问题欢迎光临:志颖博客