CLion工具(cmake) 快速開始

一、CLion工具 介紹

官網: https://www.jetbrains.com/zh-cn/clion/
官網下載地址:https://www.jetbrains.com/clion/download/download-thanks.html?platform=windows

CLion 是 JetBrains 推出的全新的 C/C++ 跨平臺集成開發環境。

使用CLion上最好要會手寫CMake。要先安裝編譯器套件(一般安裝MinGW就行)。

Clion的自動補全無疑是最強大的特性之一,寫代碼流暢無比!

CLion是基於Intellij平臺的IDE,主要用於C/C++開發。它使用CMake工程模型,你對CMakeLists.txt的任何更改都會反映到IDE中,CLion調用CMake的命令行完成工程構建。

總結: CLion 適用於 CMake、Gradle C++ 和編譯數據庫項目模型,在代碼編輯和重構期間使用來自那裏的所有信息。

使用Clion的原因:

  1. 語法高亮較明顯、跳轉、重構方便
  2. 可以使用圖形界面進行調試,比命令行GDB方便多了
  3. 使用cmake管理,工程目錄結構清晰、且支持cmake命令高亮及補全

二、CLion開發編譯調試Makefile項目

CLion開發編譯調試Makefile項目
參考URL: https://blog.csdn.net/lylwo317/article/details/86673912
CLION 使用自己的makefile來運行
參考URL: https://www.cnblogs.com/milliele/p/11019097.ht
Clion中使用makefile文件取代CMake
參考URL: https://blog.csdn.net/qq_31261509/article/details/89382114

雖然目前在Clion中不支持Makefile作爲項目格式,但您可以使用以下解決方法在File Watchers和編譯數據庫的幫助下管理Makefile項目。

網上方法總結
方法一:using Compilation DB
CLion之前只支持Cmake項目,不支持Makefile項目。從2018.2版開始提供對Makefile項目支持。官方博客的教程可以看這裏Working with Makefiles in CLion using Compilation DB

方法二:
安裝一個makefile插件即可。
總結: Clion默認支持cmake項目,不支持Makefile項目。

使用CLion,推薦如果不是cmake項目,建議改造成cmake項目。

三、Win10下Clion的配置以及使用

CLion(CLion: A Cross-Platform IDE for C and C++ by JetBrains)是 JetBrains 公司推出的 C/C++ IDE,但是安裝完畢之後並不能直接運行哪怕像 HelloWorld 這樣簡單的程序,原因就是需要先安裝 C/C++ 的編譯環境。在 Windows 下目前比較主流的有 MinGW、Cygwin 等。

第一次進CLion會提醒,配置工具鏈 如下:
在這裏插入圖片描述
之後也可以配置:
進入 File | Settings | Build、Execution、Deployment | Toolchains

1. Clion 配置Cygwin 開發環境(不推薦)

參考URL: https://www.jianshu.com/p/54b72351c787

這裏先解答一個問題,方便加深大家對windows使用clion的認識
使用cygwin在windows可以編譯生成linux下的可執行文件麼?
答案:不可以。默認你的Clion配置了Cygwin,你編譯的c程序,運行時生成的是.exe程序。
windows下使用Clion和cygwin 生成的是 pe 的, 不能再 linux 下跑, 不過可以自己編譯個交叉編譯器。
如果你想windows下讓Clion生成linux或arm結構下可以跑的程序,這個技術叫交叉編譯。

2. 使用Clion remote host形式遠程自動同步以及遠程調試

【推薦-可完全參考】使用Clion優雅的完全遠程自動同步和遠程調試c++
參考URL: https://cloud.tencent.com/developer/article/1406250

使用CLion在Window端進行linux開發
參考URL: https://blog.csdn.net/lovehaihong5401/article/details/86941091

使用Clion優雅的完全遠程自動同步和遠程調試c++
參考URL: https://www.cnblogs.com/qiumingcheng/p/11185073.html

這種方法其實就是利用Clion下載遠端代碼到本地,利用Clion編輯代碼,編輯完成又同步到遠端。並且可以遠程debug。
整個過程不在window下進行編譯,編譯運行還是在目標linux下

1) 配置 工具鏈

進入 File | Settings | Build、Execution、Deployment | Toolchains

如下圖,它會自動檢測camke、gdb路徑。
在這裏插入圖片描述
比如,上圖gdb版本版本優點低,我們升級gdb,參考URL:https://blog.csdn.net/inthat/article/details/106118969

如下圖所示,安裝符合要求的gdb,就沒有了之前的感嘆號了。
在這裏插入圖片描述

2) 配置 自動同步 SFTP協議

如下:首先:設置爲SFTP協議,設置遠程ip、port、pass然後點擊Test Connection,確認是否連接成功
在這裏插入圖片描述
如下:
切換到Mappings
設置本地的代碼根目錄Local path
設置遠程的代碼根目錄 Deployment path
在這裏插入圖片描述
在Tool - Deployment - Automatic Upload(always) 設置爲自動同步
自動同步的話可以在每次在本地改動代碼的時候自己同步了
Sync with Deployed to 就是自動下載遠程代碼到本地、

而且通過上面參考的第一個URL,不但可以設置本地文件自動同步,甚至可以配置我們編輯了文件,自動讓遠端編譯程序,過程如下:
首先,如下圖,再toolchain中配置 構建工具爲 遠程Linux
在這裏插入圖片描述

進入Preferences | Build, Execution, Deployment | CMake
Toolchain 選擇我們剛剛設置的
上面的Automatically reload CMake project on editing 的設置勾上的時候,只要代碼有修改就會自動編譯

在這裏插入圖片描述在同步文件的基礎上,我們編輯運行配置,甚至可以做到遠程運行遠端主機程序,總之,Clion可以做到可以完全遠程的方式構建,運行和調試應用程序和測試。

3) 遠程編譯調試

使用Clion優雅的完全遠程自動同步和遠程調試c++
參考URL: https://cloud.tencent.com/developer/article/1406250

CentOS的依賴依賴

#gdbserver
yum install gdb-gdbserver -y

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述如上圖:
添加一個GDB遠程調試的配置 GDB Remote Debug
設置遠程訪問參數(target remote args): tcp:xx.xx.xx.xx:1234
設置遠程路徑和本地路徑的映射(Path mappings)
遠程調試連接成功後,像本地調試一樣,可以設置斷點,單步跟蹤等
調試需要本地和遠程的代碼一致

方法一: 遠程gdbserver的啓動
遠程調試依賴gdbserver的來支持,通過gdbserver的啓動的程序,會先等待遠程調試的連接,連接成功後再啓動進程。

cmake .  -DCMAKE_BUILD_TYPE=Debug
make
gdbserver :1234 ./read_phy_disk_use
[root@VM_0_14_centos cTest]# gdbserver :1234 C_Exercise 
Process /home/shepf/code/cTest/C_Exercise created; pid = 11327
Listening on port 1234

方法二: 遠程gdbserver的動態連接
gdbserver的還支持動態綁定到已經啓動的進程

gdbserver :1234 --attach <PID>

四、使用CLion 生成CMakeList文件

  1. 使用CLion打開項目源碼
  2. 在項目根目錄下,右鍵如下圖,新建 CMakeLists.txt
    在這裏插入圖片描述CMakeLists.txt 如下
    cmake_minimum_required(VERSION 3.14)
    project(cTest)
    
    # 設置的 CMAKE_CXX_STANDARD變量的值設置爲 14
    #set(CMAKE_CXX_STANDARD 14)
    
    
    add_executable(main src/test/main.c)
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章