>
Home

登龙(DLonng)

选择大于努力

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

本文原创首发于同名微信公号「登龙」,关注我就是你今年做的最成功的一件事

DLonng at 01/11/20