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”,如下图所示。
右键点击”构建“,即可进行编译,如下图
工程系统结构图如下
其中mono_tum.cc为源文件,上面的为编译后的二进制文件。
四、运行mono_tum例程
鼠标右键点击编译后的可执行二进制文件,选择"可执行文件As",“编译后的二进制文件”,此时,会提示我们"Usage: ./mono_tum path_to_vocabulary path_to_settings path_to_sequence",这时我们需要对工程进行配置。选择"运行",“配置启动器”,依次填入所需参数,我这里填入的TUM为网上下载的rgbd_dataset_freiburg1_desk数据集,参数设置好之后,点击"ok"。
然后再右键点击可执行文件,选择"可执行文件As",”编译后的二进制文件",即可运行。运行效果如下图:
五、对mono_tum进行单步调试
打开ORBSLAM2中的CMakeLists.txt文件,加入
set(CMAKE_BUILD_TYPE "Debug"),然后重新对mono_tum程序进行"构建"。构建结束之后,鼠标双击行号左边设置断点,如下图
然后开始对momo_tum程序进行单步调试,步骤为:右键点击mono_tum,选择"调试As"、“编译后的二进制文件”(或者直接点击Debug按钮)。效果如下图
可以看到,对于程序中的变量我们看得一目了然,界面也很友好,"单目跟进"进入函数,"单步跳出"退出函数。
在这篇文章的书写上,感觉自己是真的罗嗦啊。。。但如果对初学者有益,罗嗦也无妨了。俗话说,磨刀不误砍柴工,拥有一款好的IDE ,对我们的学习真的太重要了。
- Ubuntu下简单配置反编译工具以及其开发环境
- [无视][mark]在Ubuntu下使用vscode编程、编译、调试、单步调试C++
- VS 使用自带的.NET Reflector单步调试编译好的程序集(反编译),以及相关其他反编译程序介绍
- 在Ubuntu上开发编译内核模块以及调试内核模块,并查看printk打印的消息
- Ubuntu编译内核树以及简单驱动编程
- ubuntu10.04编译安装LAMP以及简单wordpress的使用
- ubuntu下安装less以及实现简单的编译
- ubuntu下编译ffmpeg 并单步调试
- Ubuntu系统下的Hadoop集群(3)_Hadoop单机版自定义实现类以及编译运行
- CyanogenMod源码下载和编译以及简单修改
- Ubuntu 下Pycharm快捷方式创建最简单办法 以及安装好了Pycharm但是通过快捷方式启动提示JDK找不到的解决办法
- Google Protobuf的安装、配置、以及简单demo编译
- 关于在Ubuntu16.04下调试python3的方法以及vi的安装
- Linux下C程序的编辑,编译和运行以及调试
- Linux下交叉编译gdb,gdbserver+gdb的使用以及通过gdb调试core文件
- Ubuntu Sublime_text3 Clang 编译的简单配置
- PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简单介绍
- linux下GCC编译环境中二叉树遍历、C语言实现以及调试过程中段错误
- 内核知识第四讲,简单的认识内核函数.以及调试驱动技巧