ubuntu18.04中安装pcl点云库

在Ubuntu18.04中,由于libtk版本变化和qt-sdk被弃用,本文详细介绍了如何安装和编译点云库pcl。首先,通过命令查找libtk最新版本,然后从github下载pcl源码并进行编译,经过漫长等待后,成功完成安装。

 

1.安装依赖

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.8 libflann-dev #出错的话把1.8换成1.9
sudo apt-get install libeigen3-dev 这个需要自己下载正确版本安装
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk7.1-qt libvtk7.1 libvtk7-qt-dev  #出错的话把apt-get换成aptitude
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 openjdk-8-jdk openjdk-8-jre

在ubuntu18.04中libtk已经从网上说的5.10版本变成了7.10。当然随着时间的退役7.10也会被舍弃,这时我们要用到

sudo apt-cache search libvtk

我们用这行命令去搜索libtk的最新版本。
在ubuntu18.04中qt-sdk已经被舍弃,亲身测试不需要安装。

下载编译

下载就不用说了,这是网址https:/

### 安装 PCL 点云库 #### 使用包管理器安装 对于希望快速设置环境的开发者来说,可以利用 `apt` 包管理工具来简化安装过程。通过这种方式安装能够减少依赖项管理和编译时间上的麻烦。 ```bash sudo apt-get update sudo apt-get install libpcl-dev ``` 这种方法适用于大多数常规应用需求,并能确保所使用的PCL版本与系统其他组件兼容良好[^1]。 #### 编译源码安装 如果需要特定功能或最新的特性支持,则可以选择从源代码编译安装PCL。此方法允许更灵活地定制构建选项以及获取最新改进。 先准备必要的依赖: ```bash sudo apt-get install build-essential cmake git pkg-config sudo apt-get install libeigen3-dev libflann1.9 libflann-dev libboost-all-dev sudo apt-get install libvtk7-dev libqhull* libgtest-dev libsuitesparse-dev ``` 接着克隆仓并切换至所需版本标签页(这里以 v1.9.1 版本为例),创建用于放置编译产物的新文件夹,在该路径下调用 CMake 工具完成配置工作之后执行多线程模式下的 Makefile 构建指令: ```bash git clone https://github.com/PointCloudLibrary/pcl.git cd pcl git checkout pcl-1.9.1 mkdir release && cd $_ cmake .. make -j$(nproc) sudo make install ``` 上述操作完成后即完成了自定义化程度更高的本地部署流程[^4]。 #### 测试安装成功与否 为了验证是否正确设置了开发环境,可以通过编写一段简单的程序读取.pcd格式的数据集作为初步尝试。下面给出了一段基于C++语言实现的例子供参考: ```cpp #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> int main(int argc, char** argv){ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); if (pcl::io::loadPCDFile<pcl::PointXYZ> ("test_pcd_file_path", *cloud) == -1){ //加载点云数据失败返回-1 std::cout << "Couldn't read file test_pcd_file_path\n"; return (-1); } else{ std::cerr << "Loaded " << cloud->width * cloud->height << " data points from test_pcd_file_path with the following fields: "; for (size_t i = 0; i < cloud->points.size (); ++i) printf ("[%f %f %f]\n", cloud->points[i].x, cloud->points[i].y, cloud->points[i].z); } } ``` 这段代码展示了如何加载外部存储于`.pcd`文件内的三维坐标信息集合,并将其逐行输出显示出来以便观察效果[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值