首页 帮助中心 常见问题 Ubuntu18.04在国内环境中安装PCL全流程
Ubuntu18.04在国内环境中安装PCL全流程
时间 : 2025-08-11 10:49:29 编辑 : 华纳云 阅读量 : 9

三维点云出来、SLAM、机器人视觉等领域,PCL都是一项必不可少的开源库。不少国内开发人员会在Ubuntu 18.04系统上安装PCL,可能出现下载速度慢、依赖缺失、版本冲突等问题。那么,在中国大陆网络环境中如何顺利安装PCL

为什么选择在Ubuntu 18.04上安装PCL

虽然Ubuntu 20.0422.04已经是主流,但大量服务器、嵌入式平台(如NVIDIA Jetson系列)和工业相机驱动仍以Ubuntu 18.04为最佳兼容环境。Ubuntu 18.04PCL 1.8.x版本支持成熟,并且与ROS MelodicOpenCV 3/4等库的兼容性好。

国内安装PCL的常见难点

在国内安装PCL会面临apt源下载速度慢。默认源在国内速度较慢,容易导致依赖安装失败。还有编译依赖缺失,PCL依赖BoostVTKEigen等多个库,缺失会直接报错。另外就是CMake版本过低,官方推荐CMake ≥ 3.10,而Ubuntu 18.04自带的版本恰好3.10.2,但部分模块可能需要更新。VTK版本冲突方面,apt安装VTK可能与PCL源码编译版本不匹配,导致链接错误。

环境准备与加速

更新APT源为国内镜像:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's|archive.ubuntu.com/ubuntu/|mirrors.aliyun.com/ubuntu/|g' /etc/apt/sources.list
sudo apt update

安装编译工具与依赖

sudo apt install -y build-essential cmake pkg-config git
sudo apt install -y libboost-all-dev libeigen3-dev libflann-dev
sudo apt install -y libvtk7-dev libqhull-dev libusb-1.0-0-dev

Boost PCL的核心依赖之一,Eigen 用于矩阵运算,FLANN 用于快速最近邻搜索,VTK 用于点云可视化。安装方式选择中,在国内安装PCL主要有两种方式,APT快速安装(简单,但版本固定且功能较少)和源码编译安装(可定制功能,适合生产环境)。

APT快速安装PCL

sudo apt install -y libpcl-dev

安装完成后验证:

pkg-config --modversion pcl_common

如果输出 1.8.x,说明安装成功。优点在于快速省事,但是无法开启全部模块,版本不可控。

源码编译安装PCL(推荐),官方GitHub仓库在国内访问较慢,可用Gitee镜像:

git clone https://gitee.com/mirrors/pointcloudlibrary.git pcl
cd pcl
git checkout pcl-1.8.1

建议选择 1.8.1 版本,Ubuntu 18.04 + ROS Melodic 兼容最佳。

创建编译目录

mkdir build && cd build
配置CMake
cmake .. -DCMAKE_BUILD_TYPE=Release \
-DBUILD_GPU=ON \
-DBUILD_apps=ON \
-DBUILD_examples=ON

说明:

BUILD_GPU=ON 可开启CUDA加速(需NVIDIA GPU环境)

BUILD_apps=ON 构建PCL自带应用工具

BUILD_examples=ON 编译示例代码方便测试

编译与安装

make -j$(nproc)
sudo make install

环境变量配置上,安装完成后,需要让系统找到PCL的头文件与库文件:

echo "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" >> ~/.bashrc
source ~/.bashrc

测试安装结果,创建 test_pcl.cpp 测试程序:

#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <iostream>
int main() {
pcl::PointCloud<pcl::PointXYZ> cloud;
cloud.width = 5;
cloud.height = 1;
cloud.is_dense = false;
cloud.points.resize(cloud.width * cloud.height);
for (auto& point : cloud.points) {
point.x = 1024 * rand() / (RAND_MAX + 1.0f);
point.y = 1024 * rand() / (RAND_MAX + 1.0f);
point.z = 1024 * rand() / (RAND_MAX + 1.0f);
}
pcl::io::savePCDFileASCII("test_pcd.pcd", cloud);
std::cout << "Saved " << cloud.points.size() << " data points to test_pcd.pcd." << std::endl;
return 0;
}

编译运行:

g++ test_pcl.cpp -o test_pcl $(pkg-config --cflags --libs pcl_io pcl_common)
./test_pcl

如果生成 test_pcd.pcd 文件并无错误,说明PCL安装成功。

优化与注意事项

国内加速建议使用 axel aria2 多线程下载依赖,配置Git代理或镜像仓库。服务器环境优化可以通过禁用编译过程中多余的GUI模块(服务器无需可视化),使用 make -j$(nproc) 充分利用多核CPU

版本匹配

ROS Melodic → PCL 1.8.x
ROS Noetic → PCL 1.10.x

Ubuntu 18.04系统下国内安装PCL,如果只是测试或快速部署,可以直接通过APT安装;而在生产环境、科研项目中,建议使用源码编译方式,这样可以定制模块、开启GPU加速,并避免版本冲突。结合国内镜像源与编译优化策略,不仅能大幅提高安装速度,还能让PCL在服务器环境中稳定运行。

华纳云 推荐文章
Ubuntu18.04系统中如何安装logwatch日志监控程序 如何在Ubuntu18.04系统安装golang 如何在ubuntu18.04系统搭建ftp服务 如何在Ubuntu18.04系统搭建FTP 如何在Ubuntu18.04系统挂载磁盘 如何在Ubuntu18.04系统配置和修改IP 如何在Ubuntu18.04系统安装docker Ubuntu18.04系统如何安装宝塔面板? Ubuntu18.04如何解决执行文件脚本提示python错误 如何在Ubuntu18.04上安装Nginx
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持