遇到的问题
我们之前使用CLIon还完全把其当作是编辑工具,而没有用到其中的丰富的功能,甚至连运行都是使用终端运行的,更别提Debug了,接下来,我们将利用这篇文章进行更深层次对CLion的利用,使之成为一个编译工具而不是文本编辑器。
官方教学
其实这部分在CLion的官方文档里面都是有具体的教学的,但是官方是使用Windows系统教学的,所以多少还是有点差异,首先先把官方教学的链接贴上:链接: CLion-ROS2入门文档
创建发布订阅功能包
这里我们按照官方的方法进行创建,链接: 编写简单的发布者和订阅者
其中大部分的操作都在前面的文章中提到过,就顶多加了个GIT操作。创建好之后使用CLion打开项目,不是直接打开文件夹的“打开”。
编译步骤
创建命令脚本
然后按照图示位置创建.bat文件,即功能包目录下,记住和CmakeLists.txt以及package.xml在同一个文件路径下。即图中的cmake_commands.bat文件,
文件内容如下:
/usr/bin/cmake /home/wshang/cppPub_ws/src/cpp_pubsub -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_INSTALL_PREFIX=/home/wshang/cppPub_ws/install/cpp_pubsub
/usr/bin/cmake --build /home/wshang/cppPub_ws/build/cpp_pubsub -- -j8 -l8
/usr/bin/cmake --install /home/wshang/cppPub_ws/build/cpp_pubsub
然后在该路径打开终端,修改该文件的权限:
chmod 777 cmake_commands.bat
自定义构建目标
在CLIion中的设置找到构建、执行、部署工具,然后选择自定义构建目标,点击“+”,按照如图方式创建:
提示:点击自定义构建目标后点击构建后面的“…",即可打开外部工具窗口,再点击外部工具的”+“即可打开编辑工具窗口,编辑工具窗口中的程序就选择刚才的.bat文件,工作目录需要改成build文件目录下和功能包同名的目录。
配置运行
CLion中主界面最难受的就是运行的三角形按钮是灰色的,现在就是来解决这个问题的。
点击运行旁的编辑配置,按照如图方式编辑选项
需要注意的是这里的可执行文件可没有Windows下的.exe文件,我们的ROS2项目中的可执行文件在install文件夹下,找到install文件夹目录下和功能包同名的文件夹,然后下面有lib文件夹,如图,找到talker即为可执行文件,(其实这里还有一个listener,但是后面可能对代码的解析是利用talker,自我感觉他的代码内容丰富一点。)
其他修改
按道理来说这里就可以运行了,但是我是没运行起来的,这里给出两步修改方案,首先第一,更改CMakeLists.txt文件,添加如下语句:
set(CMAKE_BUILD_TYPE "Debug")
当然加入了之后我仍然没有解决问题,而是报错找不到librclcpp.so,我的解决方案如下:
首先到opt/ros/jazzy(这个是ROS2版本)/lib目录下找到该文件,找到之后复制这段路径,打开终端:
sudo gedit /etc/ld.so.conf
其实这里本来写的是用vim编辑器,但是vim我玩不转,所以用的gedit。然后添加刚才复制的路径,如下:
保存关闭gedit,在终端输入:
sudo ldconfig
再去运行或者Debug就没有问题了: