您的位置:首页 > 其它

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

2019-01-14 20:00 696 查看

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

一、安装依赖项

[code]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上选择需要的版本下载。

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

三、安装PCL

① 解压

[code]tar xvf pcl-pcl-1.8.1.tar.gz

② 进入文件夹

[code]cd pcl-pcl-1.8.1

③ 新建一个中间文件夹

[code]mkdir build && cd build

④ 构建编译系统

[code]cmake -DCMAKE_BUILD_TYPE=Release ..

⑤ 编译

[code]make -j8

⑥ 安装

[code]make install

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

 

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

① cmake过程中出现的错误

问题:libboost版本不兼容

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

[code]# 官网寻找需要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

[code]cd build
rm -rf *
cmake -DCMAKE_BUILD_TYPE=Release ..

② 编译过程中出现的错误

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

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

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

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

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

[code]# 卸载openssl
$ sudo apt remove openssl

3、重新安装openssl1.0.0

[code]# 官网下载源码
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文件夹重新编译

[code]make clean
make -j8

参考链接:

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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐