解决c++运行时提示:first defined here (重复定义问题)

问题描述

错误信息如下

/usr/bin/ld: CMakeFiles/flow_server.dir/reactor/Reactor_demo.cpp.o: in function `main':
/tmp/cpp_flow_server/reactor/Reactor_demo.cpp:106: multiple definition of `main'; CMakeFiles/flow_server.dir/main.cpp.o:/tmp/cpp_flow_server/main.cpp:38: first defined here
collect2: error: ld returned 1 exit status
gmake[3]: *** [CMakeFiles/flow_server.dir/build.make:145: flow_server] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:83: CMakeFiles/flow_server.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:90: CMakeFiles/flow_server.dir/rule] Error 2
gmake: *** [Makefile:124: flow_server] Error 2

我们主要看这一行即可

/tmp/cpp_flow_server/reactor/Reactor_demo.cpp:106: multiple definition of `main'; CMakeFiles/flow_server.dir/main.cpp.o:/tmp/cpp_flow_server/main.cpp:38: first defined here

意思是 /tmp/cpp_flow_server/reactor/Reactor_demo.cpp 文件的106行里面有个main函数,而/tmp/cpp_flow_server/main.cpp 的38行也有个main函数,一个项目中不能同时有2个main函数,属于是重复定义了;

经过查看,确实是有2个main函数,
第一个main函数:

第二个main函数:

解决方案

想要解决这个问题很简单,只需要注释掉其中一个main函数即可,删掉也行

然后点击main.cpp里面的绿色三角形;

构建过程中也没有报错

顺利运行起来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java叶新东老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值