使用cmake生成makefile,编译时,出现redefine main 的错误提示,该提示是由于在工程中,出现了两个或者以上的main函数,
多由写测试程序,程序中包含了main函数,然后在搬进开发的工程中时,忘了注释掉main函数,原来工程中有一个main函数,
所以出现两个main函数定义的错误.
尝试把测试文件中的main函数注释掉,再编译,但还是出现重复定义main函数的错误,grep搜索一下main函数包含在哪些文件,
发现下面文件中也包含了一个main函数,猜想大概是第一次没有删除测试文件中的main函数,然后生成makefile的过程中,
将main函数写入了文件CMakeCXXCompilerId.cpp, 后面即使注释掉了,但是main函数仍在这个文件中存在,所以,必须删除
CMakeCXXCompilerId.cpp这个文件,步骤如下:
///>第一步:删除CMakeCXXCompilerId.cpp文件
$ rm /home/xhq/src/server/gateserver/CMakeFiles/3.0.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
///>第二步:make clean 清空编译中间文件
$ make clean
///>第三步:编译
$ make
此时,就可编译通过,不会再报告main函数重复定义的错误