【PCL安装】ubuntu20.04安装qt4+vtk7.1+pcl1.8

ubuntu20.04安装qt4+vtk7.1+pcl1.8

一、安装qt4.x(ubuntu20.04默认源中只有qt5,需要添加额外源)

vtk7.1需要qt4.x作为依赖,否则会报错。
添加源

sudo add-apt-repository ppa:rock-core/qt4

更新源

sudo apt-get update

安装qt4

sudo apt install qt4-default

注:当系统同时有qt4和qt5时需要更改默认qt版本

查看默认版本

qmake -v

修改

cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser
sudo gedit default.conf

将配置中的qt5改为qt4后保存,通过qmake -v可以查看是否修改完成。

二、安装vtk7.1

据说vtk7.1+pcl1.8更加适配大多数开源项目
各种依赖

# 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
# cmake && cmake-gui
sudo apt-get install cmake cmake-gui

安装软件包
链接:vtk官网
解压后打开

mkdir build & cd build
cmake-gui

where is the source code:VTK7.1的路径
where to build the binaries: build的路径
点击configure,选择默认,然后勾选VTK_Group_Qt
在点击configure,configure done后选择generate,generate done后退出cmake-gui。
安装

make -j16#看电脑线程
sudo make install

三、安装PCL

PCL安装包
各种依赖

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.9 libflann-dev  # ubuntu20.04对应1.9
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-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 libopenni-dev
sudo apt-get install libopenni2-dev

解压pcl,进入包内

mkdir build & cd build

编译

cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr ..

编译错误

1.pcl-pcl-1.8.1/visualization/src/pcl_visualizer.cpp:103:10: fatal error: boost/uuid/sha1.hpp: 没有那个文件或目录
解决1:
在pcl_visualizer.cpp中将#include <boost/uuid/sha1.hpp>改为#include <boost/uuid/detail/sha1.hpp>

2./bin/ld: …/…/lib/libpcl_kdtree.so.1.8.0: undefined reference to LZ4_resetStreamHC' /bin/ld: ../../lib/libpcl_kdtree.so.1.8.0: undefined reference to LZ4_setStreamDecode’
/bin/ld: …/…/lib/libpcl_kdtree.so.1.8.0: undefined reference to LZ4_decompress_safe' /bin/ld: ../../lib/libpcl_kdtree.so.1.8.0: undefined reference to LZ4_decompress_safe_continue’
/bin/ld: …/…/lib/libpcl_kdtree.so.1.8.0: undefined reference to `LZ4_compress_HC_continue’

解决2:
/pcl/build/kdtree/CMakeFiles/pcl_kdtree.dir/下的link.txt里在末尾写上:-llz4

3.error: invalid initialization of reference of type ‘const std::vector&’ from expression of type ‘const boost::shared_ptr<std::vector >’
144 | return (plane_coeff_d_);

解决3:在plane_coefficient_comparator.h中的return (plane_coeff_d_)修改为return (* plane_coeff_d_)

4.error: no matching function for call to ‘boost::uuids::random_generator_pure::random_generator_pure(boost::random::mt19937)’
77 | boost::uuids::random_generator OutofcoreOctreeDiskContainer::uuid_gen_ (&rand_gen_);
*
解决4:注释octree_disk_container.hpp中的76、77行、90行。

最后 sudo make install

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值