在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
最后,就可以保存退出了。
首先需要提醒的是,kdevelop无法完成ROS功能包的创建,所以只能在创建好功能包之后再用kdevelop打开,继续完成其他部分的编写。
通常情况下,使用CATKIN方式创建功能包,那么,一个catkin程序包由什么组成?
一个程序包要想称为catkin程序包必须符合以下要求:
这里,先创建一个简单的功能包用于演示:
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等文件,这里就不细说了。
下面说一下编译功能包的流程:
选择“打开工程”选项, 找到工作空间(~/catkin_ws/src),选择CMakeLists.txt;
可以将工作名称进行替换(默认src,取一个方便管理的名称),选择CMake Project Manager(这是英文名,也就是CMake工程管理器),选择完成;
出现cmake配置窗口,选择构建空间 /home/
添加额外参数,确保二进制文件和库在正确的catkin空间中(devel) :
-DCATKIN_DEVEL_PREFIX=../devel -DCMAKE_INSTALL_PREFIX=../install
最后点击左上角编译(也就是齿轮图标,显示为“构建”)按钮就可以了。
ROS功能包的调试,应该说程序员最想要的一个功能了。而在kdevelop中,他其实也有这个功能,而且调试过程中能看到中间变量,十分简便好用。而调试过程呢基本和正常程序一样,但是有几点不同,下面具体说说调试流程:
一定需要在CMakeList.txt中加入下面的指令,来设置编译模式:
#在project指令后加入即可
set( CMAKE_BUILD_TYPE "Debug" )
——摘自高翔博士《视觉SLAM十四讲》
设置结束之后,注意一定要再编译一次。
选择“运行”菜单下的“配置启动器”按钮,进入启动器的设置;
正常来说,直接添加“应用程序”就好了,kdevelop会自动选择可执行文件;
但是有的时候需要自己添加二进制启动文件,我现在的情况就是这样,所以需要先找到启动文件;
然后,选择需要调试的启动文件,确认添加即可,最后是这样;
kdevelop里可以设置多个“应用程序”,但是每次只能运行一个,需要还需要选择哪个“应用程序”;
准备好以上工作之后,就可以开始进行调试了。我们都知道,ROS节点是运行在roscore环境当中的,所以这一条必须满足我们的节点才能运行起来,那么怎么实现这个条件呢?(其实下面的这个操作我也是意外发现,没到到还真的可以实现,再一次佩服kdevelop)
首先是添加断点,双击程序左侧,出现一个瓢虫图标就说明添加好了;
然后打开终端,和往常一样,启动roscore,最小化该终端,让他默默运行吧;
最后就是点击kdevelop上的debug按钮了,注意它的左侧是启动按钮,就是正常运行程序使用的,这里我们进行调试;
马上,你会发现kdevelop马上进入了debug模式,激不激动,开不开心,马上进行调试吧!
有的时候会发现一行程序只显示一半,删除中文又能正常显示了,看着特别别扭,其实这是系统字体的原因,换一种字体就好了,比如这样的:
如果这个字体不行,就试试其他字体,应该有能够正常显示的。
正常来说会自动跟随系统语言,如果还是英文,可以选择汉化。汉化时不需要自己下载汉化包,Kdevelop安装后,在终端执行下列语句,查看kdevelop的相关资源:
aptitude search kdevelop
可能会提示未安装,那么自己安装一下:
sudo apt-get install aptitude
然后再次执行第一条语句,就能看到结果了,会弹出如下内容:
选择中间的 kdevelop-l10n 进行安装,此时,启动软件就是汉化后的了:
sudo apt-get install kdevelop-l10n
如果重启以后仍然是英文,点击“help"菜单栏中的”switch Application language“手动设置语言即可。