安装流程:https://blog.csdn.net/qq_35102059/article/details/118569636
1、在源码编译PCL1.9时,遇到错误
‘YOU_TRIED_CALLING_A_VECTOR_METHOD_ON_A_MATRIX’ is not a member of ‘Eigen::internal::static_assertion’
EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
需要按照https://github.com/PointCloudLibrary/pcl/pull/2786/commits/3eeca19fda82a6d393f3c6bd09d2331ad60ee53c
中修改frustum_culling.hpp文件
参考:https://blog.csdn.net/weixin_42621405/article/details/119853242

2、/home/yasaburo3/Downloads/pcl-pcl-1.8.1/surface/include/pcl/surface/impl/bilateral_upsampling.hpp:112:19: error: cannot convert ‘Eigen::internal::enable_if<true, Eigen::IndexedView<Eigen::Matrix<float, -1, -1>, float, float> >::type {aka Eigen::IndexedView<Eigen::Matrix<float, -1, -1>, float, float>}’ to ‘float’ in initialization
Eigen版本不对,1.8.1需要3.2.8的Eigen
参考:https://blog.csdn.net/weixin_42621405/article/details/119853242
查看Eigen版本:

gedit /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h
pkg-config --modversion eigen3

Eigen多版本安装:
https://zhuanlan.zhihu.com/p/442177134
https://blog.csdn.net/weixin_42157689/article/details/121598132

在完成了一系列漫长的编译和make install之后,在运行编译lio-sam时,提示找不到pcl_conversions,而运行apt-get install ros-melodic-pcl-conversions命令后又提示我要libpcl-dev的依赖:
ros-melodic-pcl-conversions : 依赖: libpcl-dev 但是它将不会被安装
让我疑惑的问题是,如果apt-get安装了libpcl-dev,那不又成了安装人家的预编译好的版本,运行lio-sam肯定又会报错了。

最后还是apt安装了libpcl-dev,但是指定了安装的版本
指定版本安装:
apt-get install package=version
查找软件版本:
apt-cache madison soft_name
按照提示还安装了一些依赖,最后终于跑出来了,虽然具体配环境的流程还是有点乱。
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐