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