写在前面:
除了通过apt-get安装的库,我们自己编译的库,一定记得在ubuntu16.04下采用Release进行编译,cmake选项中是
CMAKE_BUILD_TYPE=Release
我使用的gcc版本是gcc version 6.5.0 20181026 (Ubuntu 6.5.0-2ubuntu1~16.04)
我还没尝试,不知道默认的gcc5.4是否正常
https://codeload.github.com/PointCloudLibrary/pcl/zip/pcl-1.8.1
https://gitlab.kitware.com/vtk/vtk/-/archive/v8.0.0/vtk-v8.0.0.zip
从这个地址我们发现官方默认是pcl1.8.1+vtk8.0进行组合,我们为了不踩坑,也使用这个默认组合
解压vtk8.0:
参考:
https://blog.csdn.net/weixin_44003563/article/details/99621268
https://blog.csdn.net/yu132563/article/details/43538499/
https://blog.csdn.net/sinat_28752257/article/details/79169647
https://blog.csdn.net/qq_38446366/article/details/81702170
安装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
安装libglut-dev
sudo apt-get install freeglut3-dev
在vtk-v8.0.0中新建文件集install 、build
通过cmake-gui
然后安装eigen3 、flann 、boost
参考:
https://dragonbook.github.io/blog/2018/compile-vtk-pcl-itk/index.html
sudo apt-get install libeigen3-dev
sudo apt-get install libflann-dev
sudo apt-get install libboost-dev
其中,pcl依赖boost的system, filesystem, thread, date_time, iostreams, chrono模块。如果在cmake时提示缺少某一个模块,可直接安装该模块。比如缺少filesystem
sudo apt-get install libboost-filesystem-dev
~~~~~~~~~~~~~~~~~`
这里原本VTK_DIR的地址是:
/usr/lib/cmake/vtk-6.2
我们修改为我们刚刚编译好的vtk8.0 cmake地址
关于python-pcl的修改安装:
参考:
https://github.com/strawlab/python-pcl/pull/312/commits/6a1727a47a9592f933886071d3a2cc476206f334