參考鏈接:
姓名:FLYMAN
郵箱:fly_cjb@163.com
01 為什么使用CLion?
相對來說,CLion相對Visual studio,更加地小巧、智能,對於像我這樣需要用C++在Linux系統下寫SLAM,平時偶爾做項目又需要在Windows系統下開發,而且用慣了Pycharm的同學,還是比較方便。
相對Visual studio來說,我個人認為,它有以下幾點優點:
- 用CMake來管理編譯依賴,代碼更容易做到跨平台。
代碼如果不調用Windows系統API,在Windows系統下用CLion編寫的程序,改一改CMake程序,差不多就可以運行。
- 更加地輕巧,Visual studio更像一個龐然大物,我16年的ThinkPad X1(16G,I7-6300)運行起來竟然卡頓,每次調試,啟動要半天~(Visual studio 2019)。
- LeetCode刷題的時候,需要多個程序入口(Visual studio工程只允許一個主程序入口,你不能總是新建一個新的工程,或者把主函數注釋掉吧?雖然有個更好的方法是寫一個測試函數,在主函數里測試,但總歸也是不方便的)
- …..
還有,CLion的代碼提示更加地智能,看下面兩段代碼:
![]() |
![]() |
|---|---|
| CLion | Visual studio |
CLion支持:
- 未使用的變量、函數
- 可能未初始化的局部變量
- 無限循環
- 循環中未更新的循環條件(死循環)
- 不可達代碼
- 一些可以簡化的地方,比如某些 if -> 三目表達式
- 拼寫檢查(支持駝峰、下划線等命名風格)
- 字符串中不正確的英文拼寫
- 不正確的 printf/scanf 族函數的格式字符串
- 良好的代碼規范提示
還有別說跨平台性,Visual studio在一台電腦上寫的代碼,遷移到另一台同樣環境下運行,光配置屬性表這些就要一幫經驗豐富的C++開發人員的老命,相反CLion改一改CMake列表就可以了。還有要命的是不同Visual studio版本寫的代碼,竟然不兼容~CLion更加支持Python
對我而言,如果這個項目不需要實際落地,我還是更願意寫Python代碼,而在需要做性能優化,或者說必須要用到某些C++庫的情況下,用Python來調用C/C++/.dll/.a/.so/程序)…
當然Visual studio也有CLion比不了的地方。不過這里仁者見仁智者見智,我個人認為,在CLion出來之前,Visual studio是這個星球上最好的C++代碼開發IDE,但在CLion出來之后,這個問題還有待商榷。
可能你現在還不能體會我說的CLion優點,在之后的課程中,你會慢慢體會到,用CLion來寫代碼簡直是一種享受。
當然,你使用哪個IDE無關緊要,我們關注的是C++語言的東西,在不涉及到特別底層的情況下(至少在SLA領域),C++在這些編譯器、平台上算法層面的結果都是一樣的,所以,無論你用哪個編譯器,舒服就好。
02 CLion安裝方法
CLion的價格有點貴~,一年大概要1700塊錢,不過幸運的是學生免費的,如果你工作了的話,有能力可以支持正版:
- 首先,下載並安裝CLion(按默認選項,直接點開安裝即可):地址

- 注冊CLion賬號:地址
CLion跟Pycharm是一樣的,對學生來說,注冊好之后,JB家所有的產品都可以免費使用。

- 配置MinGW
簡單理解,MinGW是我們是Linux系統下C++編譯器gcc的Windows實現,幫助我們將C++代碼翻譯成機器語言。
注意:在Windows下用MinGW編譯的程序依然不能在Linux系統下運行。之所以我們用它,是因為CMake會用到gcc編譯器來進行代碼編譯,而gcc編譯器在Windows下的實現就是MinGW。
- 下載MinGW:地址
MinGW-W64 GCC-8.1.0

我們要拉到最下面,點紅色按鈕,離線安裝版本(你也可以下載GCC-7.3.0或者更舊的版本,這些版本間的差別並不大):

它是編譯好的版本,不需要安裝,直接解壓縮到隨便哪個目錄即可,但是不能有中文,比如說,我解壓到D:\software路徑下:

- 下載MinGW:地址
- 配置CLion
打開CLion,左上角File-Settings-Build-Toolchains,然后點擊 + 號,將相應的信息填入即可(一般而言,你只需要制定Environment環境的路徑即可,其它的CLion會自動幫你填寫進去,你也可以自己指定):

03 CLion的基本使用
- 新建new project

- 設置路徑(還是不能有中文路徑)跟C++標准(推薦C++11版本,大多數公司用這個版本)

- 運行c++程序(等它轉完):
注意:在這里,我們程序只有一個入口,就是main函數,你將鼠標放在main函數外,是不能點擊運行的。

在這個工程里,主要有兩個文件,兩個文件對於CMake管理下的程序來說缺一不可:
- main.cpp(.cpp是C++源文件的后綴名)
代碼區,我們要實現相應功能,就要在代碼區寫相應的語句,比如這里,
cout << ...,,它實現的工鞥就是向屏幕打印一串Hello World的東西。
- CMakeLists.txt(CMake文件)
用來管理哪些文件需要編譯、文件的編譯順序、相互的依賴關系。系統默認創建的CMakeLists.txt文件如下:

04 課程形式及答疑說明
更詳細的關於C++的內容我們后面再講,之后的課程有三點注意事項:
- 大多數內容將通過視頻的形式完成,每個視頻5~10分鍾,將按一個個知識點進行展開。
- 筆記內容不再特別詳細,如遇到問題,請自行百度,當實在弄不明白了,有兩種處理方式:
- 在github上提issue(我相信你的問題也是大家的問題,所以歡迎提問)
- 發送我的郵箱
務必包含兩個內容:
- 問題描述及截圖
- 代碼出錯的區域
另外,有個小提示,請及時復習,並對筆記進行整理(Markdown、思維導圖等),方便后續自己某個點忘記的時候,自己去查詢。


