PCL(Point Cloud Library)的编译过程会根据不同操作系统有所差异。以下是详细的编译步骤:
Linux/Ubuntu系统编译
1. 安装依赖项
bash
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
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk7-dev libvtk7-qt-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
2. 下载PCL源代码
bash
git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl
git checkout pcl-1.11.1 # 选择稳定版本
3. 创建构建目录并配置
bash
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
4. 编译安装
bash
make -j$(nproc) # 使用所有CPU核心加速编译
sudo make install
Windows系统编译
1. 准备环境
-
安装Visual Studio 2017/2019 (推荐使用Community版)
-
安装CMake (≥3.5版本)
-
安装Git
2. 获取源代码
cmd
git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl
git checkout pcl-1.11.1
3. 使用CMake配置
-
打开CMake GUI
-
设置源代码路径和构建路径
-
点击"Configure",选择你的Visual Studio版本和平台(x64)
-
根据需要调整选项:
-
启用
BUILD_CUDA
(如果需要GPU支持) -
启用
BUILD_GPU
(如果需要GPU支持) -
禁用
BUILD_TESTS
(如果不需测试)
-
-
点击"Generate"生成VS解决方案
4. 编译安装
-
打开生成的PCL.sln
-
在解决方案配置中选择"Release"
-
生成 → 生成解决方案 (建议使用批生成,选择ALL_BUILD和INSTALL)
macOS系统编译
1. 安装依赖
bash
brew install cmake pkg-config
brew install eigen flann boost vtk
2. 获取并编译PCL
bash
git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j$(sysctl -n hw.ncpu)
sudo make install
常见问题解决
1. VTK相关错误
如果遇到VTK相关错误,尝试:
bash
sudo apt-get install libvtk7-dev # Ubuntu
brew install vtk # macOS
并在CMake中设置:
-DVTK_DIR=/path/to/vtk
2. Boost相关错误
确保安装了正确的Boost版本:
bash
sudo apt-get install libboost-all-dev
3. 编译速度慢
使用多线程编译:
bash
make -j$(nproc) # Linux
make -j$(sysctl -n hw.ncpu) # macOS
4. 安装路径问题
自定义安装路径:
bash
cmake -DCMAKE_INSTALL_PREFIX=/your/custom/path ..
验证安装
创建一个简单的测试程序:
#include <pcl/point_cloud.h>
#include <iostream>int main() {pcl::PointCloud<pcl::PointXYZ> cloud;std::cout << "PCL compiled successfully!" << std::endl;return 0;
}
编译并运行:
bash
g++ test_pcl.cpp -o test_pcl -l pcl_common
./test_pcl
如果看到输出"PCL compiled successfully!",则说明PCL已正确安装。