cmake編譯出現重複定義main函數解決方法

使用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函數重複定義的錯誤

發佈了66 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章