Error: GTSAM was built against a different version of Eigen

20.04编译LEGO-LOAM:Error: GTSAM was built against a different version of Eigen

1.你在gtsam空间cmake之后,就会有相应的信息:

      从输出信息来看,GTSAM 使用了自带的 Eigen 3.4.0 版本,而不是系统中安装的 Eigen 库。即使你已经通过 -DGTSAM_USE_SYSTEM_EIGEN=ON 选项指定了使用系统中安装的 Eigen 库,但 CMake 仍然选择了自带的 Eigen 版本----这个错误很顽固

解决方法:

1.查看你的Eigen版本(可选):

dpkg -l | grep libeigen3-dev

2.进入你的gtsam的build目录,并运行,手动配置

cmake -DGTSAM_USE_SYSTEM_EIGEN=ON -DEigen3_DIR=/usr/include/eigen3 ..

3.继续编译

make -j$(nproc)

4.安装

sudo make install

然后就可以继续编译lego-loam了。

### 关于LIO-SAM与ROS2的教程和文档 #### 安装准备 为了使LIO-SAM能够在基于ROS2的工作环境中正常运作,需先完成一系列准备工作。这包括但不限于设置环境变量来确保系统能够识别到新安装的包。具体来说,在终端执行命令添加路径`export AMENT_PREFIX_PATH=$AMENT_PREFIX_PATH:~/<your_work_dir>/ros2_ws/install/lio_sam`[^2]。 #### 数据集转换工具的应用 对于想要利用KITTI数据集测试LIO-SAM性能的研究者而言,可以通过运行特定Python脚本实现从原始格式向ROS bag文件的有效转化。例如,通过指令`python kitti2bag/kitti2bag.py -t 2011_09_30 -r 0027 raw_synced`可以将选定日期的数据序列转化为适用于后续处理的形式[^1]。 #### 理解核心原理 深入理解LIO-SAM背后的设计理念有助于更好地掌握其应用技巧。作为一种紧密耦合激光雷达惯性里程计方法,该算法旨在通过平滑映射技术提供低漂移且实时性强的地图构建能力。这一特性使得它特别适合用于动态环境下精确导航的任务中[^3]。 #### 可视化功能解析 当涉及到实际操作层面时,了解如何查看由LIO-SAM生成的结果变得尤为重要。通常情况下,这部分工作是在名为`visualizeMapThread`的线程内完成,并调用了专门负责全局地图可视化的函数——即`visualizeGlobalMapThread()`。此过程不仅限于简单的图形展示,还包括了对最终成果进行保存等功能[^4]。 #### 解决常见错误提示 面对可能出现的技术难题也不必惊慌失措。比如遇到类似于“GTSAM was built against a different version of Eigen”的静态断言失败警告时,可以根据已有经验采取相应措施加以解决。这类问题往往源于不同库版本间的兼容性差异,因此仔细核对并调整依赖项至匹配状态通常是有效的解决方案之一[^5]。 ```bash source /opt/ros/humble/setup.bash cd ~/ros2_ws/src/ git clone https://github.com/TixiaoShan/LIO-SAM.git lio-sam_ros2 cd .. colcon build --symlink-install source install/local_setup.bash ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值