前言
CLion 是一款由 JetBrains 开发的 C++ 集成开发环境(IDE),它拥有许多强大的功能,如代码自动完成、调试器、版本控制等等。CLion本身是收费软件,但如果是学生的话可以申请免费使用。
测试安装环境:Ubuntu18、Ubuntu22
1.Clion安装
(1)官方下载安装包
官方下载安装包
(2)解压安装包
sh
gzip -d CLion-2023.1.1.tar.gz
tar -xvf CLion-2023.1.1.tar
(3)替换jbr文件夹
jetbrains全家桶在Ubuntu中使用会出现输入法不跟随的问题,需要将源文件中的jbr文件夹替换来解决
先在github上下载好别人重新编译过的jbr文件:(如果Clion版本越新,下载的jbr版本也要越新,我使用的是Clion2023版本,下载的jbr是release 17.0.6版本)
下载好后解压重命名为jbr
:
然后替换到Clion安装包中的jbr文件夹:
(4)将安装包复制到\opt
中
sh
sudo cp -rf CLion-2023.1.1 /opt
(5)执行安装程序
sh
cd /opt/CLion-2023.1.1/bin
sh clion.sh
(6)创建桌面快捷键
(初始安装好的话,应该是英文界面,下图是我安装了中文插件)
(7)下载汉化版插件
在clion的设置中的plugs选项中下载汉化包插件:
2.Clion配置项目
(1)编译器配置
(2)cmake配置
(3)clion是如何运行项目的
clion是通过cmake编译运行项目的,而cmake编译运行项目可以分为三个步骤:
一是cmake <source tree>
,比如cmake ..
,用于生成了项目文件project files;
二是cmake --build .
build的功能就是依据当前系统的编译器自适应的构建项目(或者说编译链接项目),当你明确知道自己系统的编译器是Unix Makefiles,也可以直接使用make
进行项目构建;
三是运行编译好的可执行文件,比如./main
;
回归到clion中,前面两个步骤其实就是配置编译器的路径和cmake的命令行参数,配置好后运行一个项目其实也和cmake一样分为三个步骤:
一是cmake ..
,clion在打开项目时会自动cmake ..
一遍,默认是生成在cmake-build-debug
文件夹中,当然也可以手动执行:右键项目,选择reload cmake project
;每当你修改了CMakeLists.txt
文件后都需要reload cmake project
,所以我建议设置一个reload cmake project
的快捷键;
二是cmake --build .
,就是对应clion中的build按钮的功能,如果报错说:Error: could not load cache
,那就是你没有完成步骤一的reload cmake project
;
三是./main
,clion中的run按钮,其实run按钮会同时完成步骤二和步骤三,也就是run会先build,然后运行可执行文件;
最后一个七星瓢虫一样的图案就是调试代码,比起vscode调试代码还要配置半天要简单多了。
3.Clion调试ROS项目
调试一般的C++项目,直接点击调试按钮即可,如果是ROS项目则还需要一些步骤。
(1)修改Clion的启动方式
由于ROS的功能包需要先source,所以得把clion的启动方式改为bash启动,这样会先自动source功能包,否则会出现错误:
sh
message(FATAL_ERROR "find_package(catkin) failed. catkin was neither found in the workspace nor in the CMAKE_PREFIX_PATH. One reason may be that no ROS setup.sh was sourced before.")
修改方法:
sh
sudo gedit /usr/share/applications/jetbrains-clion.desktop
修改里面的Exec行,修改后的内容如下:
sh
[Desktop Entry]
Version=1.0
Type=Application
Name=CLion
Icon=/opt/clion-2023.1.1/bin/clion.svg
#Exec="/opt/clion-2023.1.1/bin/clion.sh" %f
Exec=bash -i -c "/opt/clion-2023.1.1/bin/clion.sh" %f
Comment=A cross-platform IDE for C and C++
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-clion
StartupNotify=true
(2)运行clion,打开ROS项目
选择CMakeLists文件时,选择为catkin_workspace/src/CMakeLists.txt
文件,不要选择子功能包里面的了
(3)修改CMake配置文件
sh
-DCATKIN_DEVEL_PREFIX=../devel
../build
(4)调试ROS节点程序
Clion打开ROS项目后,会自动加载显示该ROS项目的全部节点:
选择要调试的节点,此外如果启动该节点还需要程序实参,可以如下添加实参:
之后需要重新构建程序:
构建成功后,可以点击要调试的部分,并启动调试:(调试的时候可能需要终端启动roscore)