在ROS中使用Kdevelop编译环境的技巧

在ROS中使用kdevelop这么久了,越来越觉得它非常好用啊,现在就总结一下
它的使用技巧,希望对大家有帮助,谢谢。

参考博客:Kdevelop的简单使用和简单调试
用kdevelop构建ROS程序包
ROS入门教程-1.1.3 创建ROS程序包(创客智造)
ubuntu16.04环境Kdevelop安装和汉化

一、软件安装

它的安装方式是非常简单的,可以说是我见过的所有软件之中安装最简单的软件了。一条指令搞定:

sudo apt-get install kdevelop

然后它就会自己完成所有依赖项的安装,cmake一般也会自动安装,正常来说应该不会有什么问题,等待5分钟左右(视网速而定)就差不多结束了。

因为ROS的相关设置是保存在bashrc启动文件中的,所以需要让kdevelop自动检索bashrc启动文件,关联ROS环境。首先是找到它的桌面启动快捷方式,一般在如下路径里:

cd /usr/share/applications/kde4
sudo gedit kdevelop.desktop

输入文件时可以按Tab键,防止输入错误。

打开文件之后,更改其中一条,将其中的:

Exec="kdevelop" %u

改为:

Exec=bash -i -c "kdevelop" %u

最后,就可以保存退出了。

二、ROS功能包编译

首先需要提醒的是,kdevelop无法完成ROS功能包的创建,所以只能在创建好功能包之后再用kdevelop打开,继续完成其他部分的编写。

通常情况下,使用CATKIN方式创建功能包,那么,一个catkin程序包由什么组成?
一个程序包要想称为catkin程序包必须符合以下要求:

  • 该程序包必须包含catkin compliant package.xml文件,这个package.xml文件提供有关程序包的元信息。
  • 程序包必须包含一个catkin 版本的CMakeLists.txt文件,而Catkin metapackages中必须包含一个对CMakeList.txt文件的引用。
  • 每个目录下只能有一个程序包。这意味着在同一个目录下不能有嵌套的或者多个程序包存在。

这里,先创建一个简单的功能包用于演示:

cd ~/catkin_ws/src
catkin_init_workspace
catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
cd ..
catkin_make

这里必须注意,创建好的功能包要先catkin_make 初始化工作空间,然后才能用kdevelop打开功能包。然后就是创建cpp或者python文件,更改CMakeLists等文件,这里就不细说了。

下面说一下编译功能包的流程:

1.打开工程

选择“打开工程”选项, 找到工作空间(~/catkin_ws/src),选择CMakeLists.txt;
在这里插入图片描述
可以将工作名称进行替换(默认src,取一个方便管理的名称),选择CMake Project Manager(这是英文名,也就是CMake工程管理器),选择完成;
在这里插入图片描述

2.选择构建类型

出现cmake配置窗口,选择构建空间 /home/<user_name>/catkin_ws/build/;
添加额外参数,确保二进制文件和库在正确的catkin空间中(devel) :

-DCATKIN_DEVEL_PREFIX=../devel -DCMAKE_INSTALL_PREFIX=../install

在这里插入图片描述

3.编译

最后点击左上角编译(也就是齿轮图标,显示为“构建”)按钮就可以了。
在这里插入图片描述

三、ROS功能包调试

ROS功能包的调试,应该说程序员最想要的一个功能了。而在kdevelop中,他其实也有这个功能,而且调试过程中能看到中间变量,十分简便好用。而调试过程呢基本和正常程序一样,但是有几点不同,下面具体说说调试流程:

1.设置编译选项

一定需要在CMakeList.txt中加入下面的指令,来设置编译模式:

#在project指令后加入即可
set( CMAKE_BUILD_TYPE "Debug" )

在这里插入图片描述
——摘自高翔博士《视觉SLAM十四讲》
设置结束之后,注意一定要再编译一次。

2.配置启动器

选择“运行”菜单下的“配置启动器”按钮,进入启动器的设置;
在这里插入图片描述
正常来说,直接添加“应用程序”就好了,kdevelop会自动选择可执行文件;
在这里插入图片描述
但是有的时候需要自己添加二进制启动文件,我现在的情况就是这样,所以需要先找到启动文件;
在这里插入图片描述
然后,选择需要调试的启动文件,确认添加即可,最后是这样;
在这里插入图片描述
kdevelop里可以设置多个“应用程序”,但是每次只能运行一个,需要还需要选择哪个“应用程序”;
在这里插入图片描述

3.进行调试

准备好以上工作之后,就可以开始进行调试了。我们都知道,ROS节点是运行在roscore环境当中的,所以这一条必须满足我们的节点才能运行起来,那么怎么实现这个条件呢?(其实下面的这个操作我也是意外发现,没到到还真的可以实现,再一次佩服kdevelop)
首先是添加断点,双击程序左侧,出现一个瓢虫图标就说明添加好了;
在这里插入图片描述
然后打开终端,和往常一样,启动roscore,最小化该终端,让他默默运行吧;
最后就是点击kdevelop上的debug按钮了,注意它的左侧是启动按钮,就是正常运行程序使用的,这里我们进行调试;
在这里插入图片描述
马上,你会发现kdevelop马上进入了debug模式,激不激动,开不开心,马上进行调试吧!
在这里插入图片描述

四、中文字符显示不全

有的时候会发现一行程序只显示一半,删除中文又能正常显示了,看着特别别扭,其实这是系统字体的原因,换一种字体就好了,比如这样的:
在这里插入图片描述
如果这个字体不行,就试试其他字体,应该有能够正常显示的。

五、Kdevelop汉化

正常来说会自动跟随系统语言,如果还是英文,可以选择汉化。汉化时不需要自己下载汉化包,Kdevelop安装后,在终端执行下列语句,查看kdevelop的相关资源:

aptitude search kdevelop

可能会提示未安装,那么自己安装一下:

sudo apt-get install aptitude

然后再次执行第一条语句,就能看到结果了,会弹出如下内容:
在这里插入图片描述
选择中间的 kdevelop-l10n 进行安装,此时,启动软件就是汉化后的了:

sudo apt-get install kdevelop-l10n

如果重启以后仍然是英文,点击“help"菜单栏中的”switch Application language“手动设置语言即可。

  • 6
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值