Ubuntu16.04+PCL1.8源码编译安装详解及遇到的问题

PCL官网:http://www.pointclouds.org

一、安装依赖项

sudo apt-get update  
sudo apt-get install git build-essential linux-libc-dev  
sudo apt-get install cmake cmake-gui   
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev  
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common    
sudo apt-get install libflann1.8 libflann-dev  
sudo apt-get install libeigen3-dev  
sudo apt-get install libboost-all-dev  
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev  
sudo apt-get install libqhull* libgtest-dev  
sudo apt-get install freeglut3-dev pkg-config  
sudo apt-get install libxmu-dev libxi-dev   
sudo apt-get install mono-complete  
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre  

注:部分依赖项本机上之前可能已经安装过,在编译过程中可能会因为版本兼容问题报错。

 

二、下载源码

在GitHub上选择需要的版本下载。

wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.1.tar.gz

三、安装PCL

① 解压

tar xvf pcl-pcl-1.8.1.tar.gz

② 进入文件夹

cd pcl-pcl-1.8.1

③ 新建一个中间文件夹

mkdir build && cd build

④ 构建编译系统

cmake -DCMAKE_BUILD_TYPE=Release ..

⑤ 编译

make -j8

Ubuntu16.04+PCL1.8源码编译安装详解及遇到的问题_第1张图片

⑥ 安装

make install

Ubuntu16.04+PCL1.8源码编译安装详解及遇到的问题_第2张图片

至此,PCL安装完成!安装步骤很简单,但是在安装过程中可能会出现很多错误。

 

四、 安装过程中出现的部分问题

① cmake过程中出现的错误

问题:libboost版本不兼容

解决方案:重新安装对应版本的libboost

# 官网寻找需要libboost的版本:https://www.boost.org/users/history/

# 安装过程
tar xvf boost_1_58_0.tar.gz
cd boost_1_58_0
./bootstrap.sh
./b2 install

安装完成,重新cmake

cd build
rm -rf *
cmake -DCMAKE_BUILD_TYPE=Release ..

② 编译过程中出现的错误

Ubuntu16.04+PCL1.8源码编译安装详解及遇到的问题_第3张图片

错误如图所示,这是因为依赖项版本不兼容的问题。报错提示所需要的openssl版本是1.0.0。但是本机已经存在其他版本的openssl,因此要先删除原来的版本并重新安装1.0.0版本的openssl。

1、先查看下当前是哪个版本的openssl

# 查看当前openssl版本
$ openssl version
OpenSSL 1.0.2g  1 Mar 2016

anaconda自带的openssl好好像会有冲突,所以也要注释掉anaconda的环境变量。

2、可以看到当前版本是1.0.2, 因此先将原来的版本卸载

# 卸载openssl
$ sudo apt remove openssl

3、重新安装openssl1.0.0

# 官网下载源码
wget https://www.openssl.org/source/old/1.0.0/openssl-1.0.0s.tar.gz
# 解压
tar xvf openssl-1.0.0s.tar.gz
# 进入目录
cd openssl-1.0.0s
# 运行可执行脚本并指定安装路径
./config --prefix=安装路径
# 编译
make -j8
# 安装
make install

4、进入build文件夹重新编译

make clean
make -j8

参考链接:

① http://www.pointclouds.org/documentation/tutorials/compiling_pcl_posix.php

② https://blog.csdn.net/e_small/article/details/79581484

你可能感兴趣的:(Ubuntu16.04+PCL1.8源码编译安装详解及遇到的问题)