文章目录
一、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的原因:
- 语法高亮较明显、跳转、重构方便
- 可以使用图形界面进行调试,比命令行GDB方便多了
- 使用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文件
- 使用CLion打开项目源码
- 在项目根目录下,右键如下图,新建 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)