Ubuntu18.04_PCL1.9库安装

  • Post author:
  • Post category:其他


高翔SLAM14讲中的

sudo apt-get install libpcl-dev pcl-tools

命令并不能一键安装解千愁,于是开始排坑之路。请严格按照以下安装顺序进行安装。



安装Qt5


Qt官网下载


文件名称:qt-unified-linux-x64-4.4.1-online.run

下载完成在该文件夹下终端输入:

sudo chmod u+x qt-unified-linux-x64-4.4.1-online.run
sudo ./qt-unified-linux-x64-4.4.1-online.run

在线注册账号,并下载安装。(注册后别忘了去注册邮箱确认,否则无法登陆安装)



安装X11

sudo apt-get install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev



安装OpenGL

sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev



安装glut

sudo apt-get install freeglut3-dev



安装VTK


官网下载

VTK-8.2.0.zip

#解压并进入
mkdir build && cd build
cmake ..
sudo make
sudo make install



安装clang-format

sudo apt-get install clang-format-10



安装HDF5

文件名:hdf5-1.12.2.tar.gz


HDF5官网



Attention

: 解压文件并进入后从

大神安装笔记

第“4”步开始执行



安装flann


flann1.9.1_github



Attention

: 编译过程中会报错,

大神的解决方案

#解压并进入
mkdir build && cd build
#	有些教程会在cmake后加入prefix语句,实测不用加入否则在pcl库编译时会报
#	could NOT find FLANN...的错误,
#	如果按照下面的方式依旧报错,请将解压后的文件放入home文件下编译。
cmake ..
sudo make
sudo make install



安装usb1.0库

sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev



安装metslib

wget https://www.coin-or.org/download/source/metslib/metslib-0.5.3.tgz
tar xzvf metslib-0.5.3.tgz
cd metslib-0.5.3
./configure
make -j`nproc`
sudo make install



安装其他库

sudo apt install libqhull-dev libpcap-dev
sudo apt install libboost-all-dev



安装PCL


PCL1.9.1_github

下载

解压后放置在home文件下。

cd pcl
mkdir build
cd build
cmake ..
#	attention!!!
#	make -j or -j2会报compiler error,估计是分配的资源不够导致。
#	make -j4会卡死崩溃。
#	make -j3成功。电脑型号为:联想邵阳E49
make -j3
sudo make -j3 install



可能报的错误



1.error: could not create ‘/usr/local/lib/python2.7/…

解决方法:

sudo chown -R $USER /usr/local


大佬的参考



2.octree_base_node.hpp:544:29: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]

解决方法:

1.找到报错文件夹下的找到octree_base_node.hpp,将报错行的”children_[i] == false”改成”!children_[i]”

2.进入pcl源代码文件夹 /pcl-pcl-1.7.2/registration/include/pcl/registration/,寻找这两个文件correspondence_estimation_backprojection.h 和correspondence_estimation_normal_shooting.h,将 inline void getKSearch () const { return (k_); } 换成 inline int getKSearch () const { return (k_); }


大佬以及评论区的解答



版权声明:本文为LLABVIEW原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。