如何在 C++ 的 Ubuntu 16.04.2 [LTS] 上安装 Point Cloud Library v1.8 (pcl-1.8.0)?

mac*_*ey7 9 server c++ software-installation 16.04 17.10

我试图找到一种在 Ubuntu 16.04.2 [LTS] 上安装 C++ PCL v1.8 的直接方法

更新 - - -

在单独解决各种问题后:

这是安装点云库 v1.8 的各种方法的混合

在干净的 Ubuntu Server 16.04.2 [LTS] 实例上测试

旨在成为一种简单的安装方法,因此仅包含必需的软件包和先决条件 ----- ----- ----- ----- -----

还添加了在 Ubuntu 17.10 上安装 PCL 1.8.1

mac*_*ey7 24

安装

安装 oracle-java8-jdk:

sudo add-apt-repository -y ppa:webupd8team/java && sudo apt update && sudo apt -y install oracle-java8-installer
Run Code Online (Sandbox Code Playgroud)

安装通用先决条件:

sudo apt -y install g++ cmake cmake-gui doxygen mpi-default-dev openmpi-bin openmpi-common libusb-1.0-0-dev libqhull* libusb-dev libgtest-dev
sudo apt -y install git-core freeglut3-dev pkg-config build-essential libxmu-dev libxi-dev libphonon-dev libphonon-dev phonon-backend-gstreamer
sudo apt -y install phonon-backend-vlc graphviz mono-complete qt-sdk libflann-dev     
Run Code Online (Sandbox Code Playgroud)

对于PCL v1.8,Ubuntu 16.04.2输入以下内容:

sudo apt -y install libflann1.8 libboost1.58-all-dev

cd ~/Downloads
wget http://launchpadlibrarian.net/209530212/libeigen3-dev_3.2.5-4_all.deb
sudo dpkg -i libeigen3-dev_3.2.5-4_all.deb
sudo apt-mark hold libeigen3-dev

wget http://www.vtk.org/files/release/7.1/VTK-7.1.0.tar.gz
tar -xf VTK-7.1.0.tar.gz
cd VTK-7.1.0 && mkdir build && cd build
cmake ..
make                                                                   
sudo make install

cd ~/Downloads
wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.0.tar.gz
tar -xf pcl-1.8.0.tar.gz
cd pcl-pcl-1.8.0 && mkdir build && cd build
cmake ..
make
sudo make install

cd ~/Downloads
rm libeigen3-dev_3.2.5-4_all.deb VTK-7.1.0.tar.gz pcl-1.8.0.tar.gz
sudo rm -r VTK-7.1.0 pcl-pcl-1.8.0
Run Code Online (Sandbox Code Playgroud)

对于PCL v1.8.1,Ubuntu 17.10输入以下内容:

sudo apt -y install libflann1.9 libboost1.63-all-dev libeigen3-dev

cd ~/Downloads
wget http://www.vtk.org/files/release/8.0/VTK-8.0.1.tar.gz
tar -xf VTK-8.0.1.tar.gz
cd VTK-8.0.1 && mkdir build && cd build
cmake ..
make                                                                   
sudo make install

cd ~/Downloads
wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.1.tar.gz
tar -xf pcl-1.8.1.tar.gz
cd pcl-pcl-1.8.1 && mkdir build && cd build
cmake ..
make
sudo make install

cd ~/Downloads
rm VTK-8.0.1.tar.gz pcl-1.8.1.tar.gz
sudo rm -r VTK-8.0.1 pcl-pcl-1.8.1
Run Code Online (Sandbox Code Playgroud)

验证

cd ~
mkdir pcl-test && cd pcl-test
Run Code Online (Sandbox Code Playgroud)

创建一个 CMakeLists.txt 文件:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(pcl-test)
find_package(PCL 1.2 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_executable(pcl-test main.cpp)
target_link_libraries(pcl-test ${PCL_LIBRARIES})

SET(COMPILE_FLAGS "-std=c++11")
add_definitions(${COMPILE_FLAGS})
Run Code Online (Sandbox Code Playgroud)

创建一个 main.cpp 文件:

#include <iostream>

int main() {
    std::cout << "hello, world!" << std::endl;
    return (0);
}
Run Code Online (Sandbox Code Playgroud)

编译:

mkdir build && cd build
cmake ..
make
Run Code Online (Sandbox Code Playgroud)

测试:

./pcl-test
Run Code Online (Sandbox Code Playgroud)

输出 -> hello, world!

这种安装方法旨在尽可能兼容,并提供一种简单的方式来启动和运行点云库。此方法不包括 Kinect 配置,后者需要在设置 pcl 之前预先安装更多软件包。