ubuntu从源码编译pcl与使用checkinstall打包安装

编译PCL

1.默认已安装的一些命令工具

——如:git(用于从github上下载源码),cmake(c++项目构建),cmake-gui(cmake的一个图形界面)

2.安装依赖项

sudo apt update
sudo apt install build-essential linux-libc-dev
sudo apt install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt install mpi-default-dev openmpi-bin openmpi-common  
sudo apt install libflann-dev
sudo apt install libeigen3-dev
# sudo apt install libboost-all-dev
# sudo apt install libvtk5.10-qt4 libvtk5.10 libvtk5-dev
 sudo apt install libqhull* libgtest-dev
 sudo apt install freeglut3-dev pkg-config
 sudo apt install libxmu-dev libxi-dev 
 sudo apt install mono-complete
 sudo apt install openjdk-8-jdk openjdk-8-jre

以上依赖项安装参考这篇博客,但是注意到我这里注释掉了libboost-all-dev的安装,因为我的机器上安装boost库失败,所以我是直接从官网下载源码然后编译安装的,参考以下;我也没有安装成qt与vtk,这两个我也是从源码编译安装。

3.源码下载与编译

我编译的是pcl1.10版本,其中需要由源码编译安装的在下面提供了下载,直接可安装的提供了安装指令(其中最低版本指的是pcl1.10.0版本的CMakeLists.txt中指定的各个依赖库的最低版本):

库名 最低版本 百度云下载 官网下载 安装指令
Eigen 3.1 不需要 不需要 sudo apt install libeigen3-dev
FLANN 1.7.0 不需要 不需要 sudo apt install libflann-dev
qhull 无版本要求 不需要 不需要
### 解决编译时找不到 `Eigen/Eigen` 头文件的问题 当遇到类似于 `fatal error: Eigen/Eigen: No such file or directory` 的错误时,通常意味着编译器无法定位所需的库文件。对于这个问题,有几种常见的解决方法。 #### 安装 Eigen 库 如果尚未安装 Eigen 库,则需要先进行安装。可以通过包管理工具来简化这一过程: ```bash sudo apt-get update sudo apt-get install libeigen3-dev ``` 这会下载并安装最新版本的 Eigen 到系统的标准路径下[^1]。 #### 修改 CMakeLists.txt 配置 确保项目能够正确识别 Eigen 路径,在项目的 `CMakeLists.txt` 中加入如下配置语句: ```cmake find_package(Eigen3 REQUIRED) include_directories(${EIGEN3_INCLUDE_DIR}) ``` 这段代码告诉 CMake 去寻找 Eigen 并将其包含目录添加到编译选项里。这样可以使得后续源码中的 `#include <Eigen/Dense>` 或其他形式的引入变得有效[^2]。 #### 设置环境变量 另一种方式是在终端环境中设置相应的环境变量,比如 `CPATH` 来指定额外的头文件搜索位置。假设已经手动解压了 Eigen 至 `/opt/eigen3` 下面的话,可以在命令行执行下面的操作: ```bash export CPATH=/opt/eigen3:$CPATH ``` 或者更持久化的方式是将上述指令加到 `.bashrc` 文件里面去[^3]。 #### 校验依赖关系 有时即使完成了以上操作仍然会出现同样的问题,这时应该仔细检查整个工程的所有子模块及其各自的 `package.xml` 和 `CMakeLists.txt` 是否遗漏了对 Eigen 的声明或引用不当的情况。 ```xml <build_depend> eigen </build_depend> <!-- package.xml --> ``` 以及确认所有涉及的地方都已经按照官方文档说明进行了正确的集成处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值