Ubuntu 16.04 编译安装 PCL-1.8 和 VTK-7.1
版权声明:本文为 DLonng 原创文章,可以随意转载,但必须在明确位置注明出处!
因为项目要处理点云,需要使用 PCL 点云库,虽然之前安装过 PCL,但是当时没注意安装对应的 VTK 版本太低,导致后期编译出现很多问题,索性重新编译安装 PCL-1.8 和 VTK-7.1,这两个版本比较稳定,暂时没出现问题。
下面总结下自己的编译安装过程。
一、卸载老版本的 PCL 和 VTK
1.1 卸载 PCL
进入之前编译 PCL 的 build 目录下:
cd pcl/build
sudo make uninstall
1.2 卸载 VTK
卸载 VTK 只能通过查找 VTK 的安装目录来一步步删除,先使用 locate 来定位 VTK 的安装位置:
# 更新数据库索引
sudo updatedb
# 查找所有带 vtk 字符的目录
locate *vtk*
你会发现输出了很多目录,不过主要是以下 4 个目录(我之前的 vtk 是 6.2 版本):
/usr/local/include/vtk-6.2
/usr/local/lib/libvtk*
/usr/local/lib/cmake/vtk-6.2
/usr/local/bin/vtk*
为了保险起见,不建议直接删除,先把这 4 个目录移动一份到别的地方(主目录下的 vtk_6.2_bak),等新的 vtk 安装没问题再删除:
sudo mv /usr/local/include/vtk-6.2 ~/vtk_6.2_bak
sudo mv /usr/locallib/libvtk* ~/vtk_6.2_bak
sudo mv /usr/local/lib/cmake/vtk-6.2 ~/vtk_6.2_bak
sudo mv /usr/local/bin/vtk* ~/vtk_6.2_bak
下面重新安装 PCL-1.8 和 VTK-7.1
二、编译安装 PCL-1.8 和 VTK-7.1
2.1 安装各种依赖库
首先更新软件源:
sudo apt-get update
apt 安装依赖:
sudo apt install git build-essential linux-libc-dev cmake cmake-gui libusb-1.0-0-dev libusb-dev libudev-dev mpi-default-dev openmpi-bin openmpi-common libflann1.8 libflann-dev libeigen3-dev libboost-all-dev libqhull* libgtest-dev freeglut3-dev pkg-config libxmu-dev libxi-dev mono-complete libopenni-dev libopenni2-dev libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev build-essential libgl1-mesa-dev libglu1-mesa-dev cmake-curses-gui
2.2 编译安装 VTK-7.1
因为 PCL 编译依赖于 vtk,所以先编译 vtk,官网下载 vtk-7.1,然后解压:
cd vtk-7.1.1.tar.gz 目录
tar -xzvf vtk-7.1.1.tar.gz
开始配置:
cd VTK-7.1.1
mkdir build
cd build
ccmake ..
出现以下界面:
然后按字符「c」开始初始配置,结果如下:
使用回车键打开 VTK_GROUP_QT 选项为 ON:
再次按字符「c」配置,结果如下:
按下回车键将 VTK_QT_VERSION 改为 5,按一下回车即可:
再按一次「c」配置后面的属性,这里保持默认:
再按一次「c」,然后按「g」产生配置文件退出即可:
其实这个跟在 window 下的 cmake-gui 本质是一样的,只不过这里用字符命令来配置而已,不是很复杂,以上的配置只是加上 QT 和设置 QT 的版本,中间步骤比较多。
编译完直接安装:
sudo make install
大功告成!
2.3 编译安装 PCL-1.8
GitHub 下载 PCL-1.8,然后解压:
cd pcl-pcl-1.8.1.tar.gz
tar -xzvf pcl-pcl-1.8.1.tar.gz
开始编译:
cd pcl-pcl-1.8.1.tar.gz
mkdir build
cd build
ccmake ..
跟 vtk 配置类似,先按「c」初始配置,不过这里会出现一个 help 界面:
不用管,直接按「e」退出 help,然后按键盘上下方向键,检查 QT 的版本和安装路径是否正确:
再往下设置 openni 为 OFF,我们使用 openni2:
设置完成,按「c」配置,按「g」生成并退出:
cmake 配置完后,就可以直接编译了,建议开 2 个或者 4 个线程,pcl 编译要挺久的:
# 开 2 个线程编译
make -j2
# 或者开 4 个线程编译
make -j4
编译过程中不要做其他工作了,以防编译卡住,我就卡了一次,不过重新来过一遍即可,编译完成直接安装:
sudo make install
下面测试下是否安装成功。
三、测试 PCL-1.8
本文原创首发于微信公号「登龙」,分享机器学习、算法编程、Python、机器人技术等原创文章,扫码即可关注!
DLonng at 01/11/20