mrpt基础篇(二)——安装
mrpt基础篇(二)——安装
前言:
阅读这篇文章我能学到什么?
这篇文章介绍如何将MRPT仓库clone下载到本地编译,以及如何运行到个人的项目中编译
1 安装环境
1.1 安装cmake和gcc
官网对mrpt v2.10.0版本的要求要求如下。
安装gcc,官方要求gcc版本大于等于7,这里安装版本12。
首次使用应先更新apt,尤其使用的是docker跑纯净的linux系统。
1 | apt update |
官方指定版本是大于等于cmake v3.8以上,我们安装camke v3.22.* ,执行以下指令。
1 | apt install cmake=3.22.* |
安装完成后执行以下指令查看版本信息,显示版本信息则证明安装成功。
1 | cmake --version |
安装cmake会自动按照其依赖安装对应的gcc版本,并将该版本设置为默认gcc版本,建议使用默认安装的版本,这样依赖兼容最好,自己随意搭配可能会出现异常问题。
输入以下指令查看gcc版本。
1 | gcc --version |
1.2 安装g++
mrpt是用c++写的,并且支持c++ 17标准,所以还需要安装g++,建议安装g++ 11。
1 | apt install -y g++-11 |
2 源码编译安装
从源码编译安装的好处是可以根据需要安装任意版本,只需将仓库源码拉到本地,切到自己需要的tag版本上,比如我使用mrpt v2.10.0版本。
2.1 编译开源仓库
本篇文章的ubuntu环境是22.04 LST版本。
2.1.1 克隆仓库
将 MRPT开源代码 克隆到本地。
1 | git clone https://github.com/MRPT/mrpt.git |
mrpt引用了很多子仓库,执行以下指令更新。
1 | git submodule update --init --recursive |
2.1.2 安装依赖库
安装编译mrpt依赖的库。
1 | All Ubuntu versions: |
更多的MRPT功能需要安装以下依赖包,推荐编译环境都安装上。
1 | Build OpenGL graphics, Qt and nanogui GUIs: |
注意,官方给出的库是 libdc1394-22-dev
,在ubuntu22.04上找不到该库,新版本已替代为 libdc1394-dev
,安装此即可。
中途会让选择时区,在中国就输入6(亚洲)回车。
输入70选择上海。
2.1.3 安装Qt5基础开发包
mrpt中也使用了Qt5相关的开发库,因此如果编译见到如下警告,还需要安装Qt5的基础开发包才能解决。
执行以下指令安装。
1 | apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools |
2.2 构建
在官方提供的mrpt仓库根目录下,执行以下指令构建编译。
1 | mkdir build |
看到如下提示构建编译通过。
2.3 编译
cmake构建好后,执行以下指令测试编译,如果编译没有报错则说明环境是正常的。
1 | cmake --build . |
2.4 安装
执行以下指令安装通过源码编译的mrpt版本。
1 | make -j20 |
2.5 查看版本
如何查询自己安装的mrpt版本。
1 | /usr/local/bin/mrpt-performance --version |
2.6 卸载
切到到编译时的build目录。
1 | cd /mrpt/build |
执行卸载。
1 | sudo make uninstall |
&emps; 清理残留文件。
1 | sudo rm -rf /usr/local/include/mrpt |
3 从官方存储库安装
3.1 安装
从官方存储库安装编译好的mrpt版本的好处是便捷省事,安装的是一些稳定的发行版本。
执行以下指令,配置PPA。
1 | add-apt-repository ppa:joseluisblancoc/mrpt-stable |
如果提示 add-apt-repository
指令找不到,则执行以下指令安装ppa。
1 | apt install -y software-properties-common |
执行以下指令安装发行版mrpt。同样的,如果安装过程中提示提示选择地区和城市,按照实际选择即可,比如我选择 Asia 和 Shanghai 。
默认安装可访问到的最新的版本,执行以下指令安装mrpt库和应用程序。
1 | apt install libmrpt-dev mrpt-apps |
安装mrpt python3相关库。
1 | apt install python3-pymrpt |
3.2 卸载
移除MRPT核心包。
1 | apt remove --purge libmrpt-dev mrpt-apps |
移除所有MRPT模块。
1 | apt remove --purge 'libmrpt-*' |
移除不再需要的依赖。
1 | apt autoremove |
移除PPA仓库。
1 | add-apt-repository --remove ppa:joseluisblancoc/mrpt |