文章目錄
- 0 - 前言
- 1 - Clion同一工程編譯多個檔案(含main函式)
- 2 - 運行Clion編譯出來的exe檔案
- 3 - Clion移植代碼報錯
0 - 前言
這個C++百萬并發網路通信的專案本身是VS平臺下撰寫,但是我很喜歡JetBrains系列的IDE,所以想把代碼移植到Clion中,
但是網上關于Clion代碼移植的資料并不是很多,在查詢以后,總結成本文
1 - Clion同一工程編譯多個檔案(含main函式)
一個很現實的問題是Clion使用Cmake編譯,Cmake會生成一個CmakeList檔案,
通過修改CmakeList檔案就能實作在一個工程下編譯多個包含main函式的檔案
參考:CLion工程中只能有一個main函式 &&怎么同時撰寫多個main函式的C檔案
如果不想每次編譯新的檔案就手動修改CmakeList的話,推薦Clion的一個插件:C/C++ Single File Execution

安裝上這個插件以后,在新建的cpp檔案中只要【右鍵】-【add executable for single c/cpp file】就能自動實作修改CmakeList,最后只要在CmakeList中reload一下就可以編譯檔案了

編譯后的exe檔案,放在這個檔案夾中:

2 - 運行Clion編譯出來的exe檔案
之前從VS將代碼移植到Clion上,編譯出來的exe檔案不能在Windows上點擊執行,這還是因為Clion使用Cmake編譯的原因,在windows上exe檔案需要libgcc才能運行
因此,需要在CmakeList檔案中加入如下陳述句:
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
參考:CLion編譯的exe檔案無法運行

然后,在cmake-build-debug檔案夾中找到編譯后的exe檔案,打開即可運行
3 - Clion移植代碼報錯
錯誤1: undefined reference to `__imp_WSAStartup’
Solution:CmakeList中加入如下代碼:
link_libraries(ws2_32)

參考:
VSCode網路編程出現undefined reference to `__imp_WSAStartup’等錯誤
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277761.html
標籤:其他
上一篇:如何修改linux服務器時間
下一篇:人機互動——互動技術
