gtsam运行 eigen版本冲突解释

在编译的时候可以留意一下gtsam源码第三方库路径下存在一个版本的eigen:

/usr/local/include/gtsam/3rdparty/Eigen/Eigen/src/Core/util/Macros.h

而我们系统里面也存在一个版本的eigen:

/usr/include/eigen3/Eigen/src/Core/util/Macros.h
 

查看两个eigen版本就会发现,大可能不能运行的原因是,编译gtsam的源码,最后生成的在local下的东西,使用的是gtsam源码的eigen,但是一旦在本机运行的时候,链接的是本地的eigen。

解决方式,

1、笔者系统 ubuntu20.04,系统自带eigen版本是 3.3.7,可以下载gtsam4.0.0版本,两个eigen版本重合

2、gtsam编译的时候指定链接的eigen版本,这样生成在local的gtsam运行也会链到系统版本,就是晚上说的 set(GTSAM_USE_SYSTEM_EIGEN ON)

为了不修改原作者代码原则,建议安装的时候查看好自己系统内第三方库的版本,统一为准,万不得已自己链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲨鱼辣椒不吃辣哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值