一、背景
筆者有時候需要使用C++開發一些命令行之類的可執行程序放到linux服務器上部署運行,因為C++天然的跨平臺特性, 之前一直都是使用兩套開發環境,本地mac電腦一套,遠端Linux一套,在本地開發調試好之后,再到遠端Linux進行編譯部署測試。
可在最近開發的過程需要使用到一些Linux當中的一些特定的庫,如果把這些特定的庫移植或編譯到本地Mac搭建環境的話必定比較耗時, 而且自己本身才疏學淺,還不一定能搭建成功,于是筆者便萌了使用Clion進行遠程開發的想法,說干就是干,不試不知道,搭建成功后用起來那是真的爽...
二、遠程開發環境搭建
首先這里簡單講下遠端Linux主機的開發環境搭建,筆者使用主機是ubuntu系統。
1.安裝C++相關編譯邊境
直接通過一下命令行安裝即可:
sudo apt install gcc g++ gdb -y
安裝成功后我們可以通使用命令查看下安裝的版本,例如通過命令gcc -v即可查看安裝gcc的版本。
2.安裝cmake
同樣使用apt命令安裝一下即可:
apt install cmake
需要注意的是這里安裝的Cmake版本可能有點低,一般來說都會比本地Mac的低不少,建議開發的時候在CMakeLists.txt適當降低使用的Camke版本, 當然如果一定要使用高版本的Cmake,那么你也可以通過其他的途徑安裝一下高版本的Cmake即可。
3.安裝rsync
rsync也是需要安裝的,不然在配置Clion進行遠端調試的時候會警告rsync沒有安裝,同樣使用apt命令安裝即可:
sudo apt-get install rsync x.NETd
自此,遠端Linux的編譯開發環境大致就完成了。
三、本地CLion配置
下面我們說說本地系統的開發工具CLion的配置。
1.配置ToolchAIns
依次打開 settings -> Build, Execution, Deployment -> Toolchains ,點擊 + 號
選擇 Remote Host,然后點擊右側的小齒輪設置按鈕
2.配置遠端服務器信息
在彈出框中點擊 + 號,添加一個服務器,在這里我們需要填入你遠端服務器的IP、登陸用戶名、登陸密碼等相關信息。 填寫完畢之后點擊一下Test Connection按鈕測試一下是否能連接成功。
成功連接后點擊確定,系統會自動檢測遠程的gcc、Cmake等相關環境,如果檢測成功的話一般就是下圖這樣子的。
此時我們的CLin就有了兩套編譯環境,一套是本地的默認編譯環境,一套是遠端的編譯運行環境,我們想要用那一套環境就把那套環境移動的第一位即可。
至此我們的環境配置就完成了,效果如何?趕緊程序員鼻祖工程Hello World走起...
四、環境測試
直接在本地使用CLion創建一個默認的Hell World工程,發現報錯如下:
很明顯本地使用Cmake最低版本要求是3.21,而Linux的遠端Cmake安裝的版本最高只支持3.18.4,這個問題在之前安裝 Cmake的時候已經提示注意了,要么在CMakeLists.txt降低使用的最低版本,要么升級遠端的Cmake,很明顯第一種方式簡單快捷。
解決掉這個問題后我們偉大的Hello World就能跑起來啦,筆者點擊運行成功后在控制臺輸出如下:
其中/tmp/tmp.D7BCB8d9w2/cmake-build-debug/HelloTest就是遠端Linux編譯的結果產物,我們在遠端Linux是可以找到這個文件的。
同時我們還可以直接在本地打斷點進行調試,就是這么爽...