CLion工具(cmake) 快速开始

文章目录

    • 一、CLion工具 介绍
    • 二、CLion开发编译调试Makefile项目
    • 三、Win10下Clion的配置以及使用
      • 1. Clion 配置Cygwin 开发环境(不推荐)
      • 2. 使用Clion remote host形式远程自动同步以及远程调试
        • 1) 配置 工具链
        • 2) 配置 自动同步 SFTP协议
        • 3) 远程调试
    • 四、使用CLion 生成CMakeList文件

一、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会提醒,配置工具链 如下:
CLion工具(cmake) 快速开始_第1张图片
之后也可以配置:
进入 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路径。
CLion工具(cmake) 快速开始_第2张图片
比如,上图gdb版本版本优点低,我们升级gdb,参考URL:https://blog.csdn.net/inthat/article/details/106118969

如下图所示,安装符合要求的gdb,就没有了之前的感叹号了。
在这里插入图片描述

2) 配置 自动同步 SFTP协议

如下:首先:设置为SFTP协议,设置远程ip、port、pass然后点击Test Connection,确认是否连接成功
CLion工具(cmake) 快速开始_第3张图片
如下:
切换到Mappings
设置本地的代码根目录Local path
设置远程的代码根目录 Deployment path
CLion工具(cmake) 快速开始_第4张图片
在Tool - Deployment - Automatic Upload(always) 设置为自动同步
自动同步的话可以在每次在本地改动代码的时候自己同步了
Sync with Deployed to 就是自动下载远程代码到本地、

而且通过上面参考的第一个URL,不但可以设置本地文件自动同步,甚至可以配置我们编辑了文件,自动让远端编译程序,过程如下:
首先,如下图,再toolchain中配置 构建工具为 远程Linux
CLion工具(cmake) 快速开始_第5张图片

进入Preferences | Build, Execution, Deployment | CMake
Toolchain 选择我们刚刚设置的
上面的Automatically reload CMake project on editing 的设置勾上的时候,只要代码有修改就会自动编译

CLion工具(cmake) 快速开始_第6张图片在同步文件的基础上,我们编辑运行配置,甚至可以做到远程运行远端主机程序,总之,Clion可以做到可以完全远程的方式构建,运行和调试应用程序和测试。

3) 远程调试

使用Clion优雅的完全远程自动同步和远程调试c++
参考URL: https://cloud.tencent.com/developer/article/1406250

CentOS的依赖依赖

#gdbserver
yum install gdb-gdbserver -y

在这里插入图片描述
CLion工具(cmake) 快速开始_第7张图片
CLion工具(cmake) 快速开始_第8张图片如上图:
添加一个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
    CLion工具(cmake) 快速开始_第9张图片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)
    

你可能感兴趣的:(#,开发工具)