Clion下如果有多个main函数,编译时会报错“`main'被多次定义”,如下图:
出现这种情况是因为我们在CMakeLists.txt没有进行设置可以同时存在多个main函数。
我在Clion下建立了两个.c文件,分别为1.1.c;main.c。CMakeLists.txt中默认显示是这样:
进行修改:
这里解释一下:add_executable是用于添加可执行程序的源码的,PFL1表示项目名,后面跟的是源文件,多个源文件空格隔开,多个可执行文件的项目名不能重复,我这里另一个可执行文件是PFL2,不能和PFL1同名。
Clion根据CMakeLists.txt文件生成Makefile,Makefile可以理解为代码构建需要的描述文件,cmake命令使用这个Makefile文件构建项目
编译的时候选择一下:
文章参考:
https://blog.youkuaiyun.com/qq_33033367/article/details/80303923
思考总结:
之前在公司写C/C++项目用Clion写的,一直被Clion无法共存多个main函数,无法编译而烦恼。却没有想过搜索一下,有没有现成的解决方案。
总结一下,问题的准确提出很重要,比如先知道怎么描述我遇到的问题:“Clion无法共存多个main函数,无法编译”,由于这个是IDEA使用问题,自己没什么思路,这个时候应该首先想到的是去搜索引擎搜,如果搜不到满意的答案,说明提问姿势(问题描述)有问题,庆幸我这里直接得到答案。