ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试

在对ORBSLAM2进行源码学习和编译时,我们总是在shell上进行程序运行,难以有效的进行ORBSLAM2的源码学习,降低了我们对源码学习的兴趣和效率。下面,我以自己的学习经历来分享下如何利用KDevelop这款IDE实现对ORBSLAM2源码中mono_tum程序的编译以及简单的单步调试学习(本人电脑系统:ubuntu16.04 KDevelop版本:KDevelop4)。

一、KDevelop的安装

关于KDevelop的安装和汉化,网上有许多的例程,大家可以自行搜索并进行安装。

二、下载ORBSLAM2

这一步的前提是你已经安装好了关于ORBSLAM2的所有依赖库,然后在终端输入如下指令

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

此时ORBSLAM2下载到了根目录下

三、KDevelop4下打开ORBSLAM2工程

打开KDevelop4,然后点击“工程”、“打开/导入工程”,选择下载好的ORBSLAM2文件夹,点击"Next",“Finish”,如下图所示。

ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试_第1张图片ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试_第2张图片ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试_第3张图片右键点击”构建“,即可进行编译,如下图

ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试_第4张图片工程系统结构图如下
其中mono_tum.cc为源文件,上面的为编译后的二进制文件。
ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试_第5张图片

四、运行mono_tum例程

鼠标右键点击编译后的可执行二进制文件,选择"可执行文件As",“编译后的二进制文件”,此时,会提示我们"Usage: ./mono_tum path_to_vocabulary path_to_settings path_to_sequence",这时我们需要对工程进行配置。选择"运行",“配置启动器”,依次填入所需参数,我这里填入的TUM为网上下载的rgbd_dataset_freiburg1_desk数据集,参数设置好之后,点击"ok"。

ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试_第6张图片ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试_第7张图片

然后再右键点击可执行文件,选择"可执行文件As",”编译后的二进制文件",即可运行。运行效果如下图:

ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试_第8张图片
五、对mono_tum进行单步调试

打开ORBSLAM2中的CMakeLists.txt文件,加入set(CMAKE_BUILD_TYPE "Debug"),然后重新对mono_tum程序进行"构建"。构建结束之后,鼠标双击行号左边设置断点,如下图
ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试_第9张图片
然后开始对momo_tum程序进行单步调试,步骤为:右键点击mono_tum,选择"调试As"、“编译后的二进制文件”(或者直接点击Debug按钮)。效果如下图
ubuntu下用Kdevelop4对ORBSLAM2的编译以及简单的单步调试_第10张图片可以看到,对于程序中的变量我们看得一目了然,界面也很友好,"单目跟进"进入函数,"单步跳出"退出函数。
在这篇文章的书写上,感觉自己是真的罗嗦啊。。。但如果对初学者有益,罗嗦也无妨了。俗话说,磨刀不误砍柴工,拥有一款好的IDE ,对我们的学习真的太重要了。

你可能感兴趣的:(笔记)