误更新eigen3导致的eigen3和ceres的冲突及后续修补

文章讲述了在Ubuntu系统中,由于意外升级Eigen至3.4.0导致与ceres-solver1.14.0版本不兼容的问题。作者通过命令行卸载并安装特定版本的Eigen3.3.7来解决冲突,并详细说明了如何卸载ceres-solver,下载并重新编译安装ceres-solver1.14.0的步骤。此外,还提到了对/usr/include目录的操作,包括删除和复制文件以保持正确版本的头文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一开始按安装的是eigen3.3.7,与ceres-solver1.14.0匹配

但是不小心sudo apt-get install libeigen3-dev将eigen升级到了3.4.0,编译代码出现问题:现在的eigen3.4.0与原来用eigen3.3.7安装的ceres库之间的冲突。

一不小心将usr/include目录删除了。。。参考下面blog成功恢复了这个目录

ubuntu下误删路径/usr/include的解决办法_ubuntu usr/include_kismet_xfl的博客-优快云博客

安装eigen3.3.7

原本想删除原来的eigen3.4.0,再源码安装3.3.7,结果发现可以直接通过命令行安装指定版本的eigen3,命令如下

sudo apt-cache madison libeigen3-dev
sudo apt-get install libeigen3-dev=3.3.7-2

第一行是查找版本

第二行安装指定版本的eigen3

eigen3版本从3.4.0降到3.3.7后就与ceres-solver1.14.0匹配了,下载ceres1.14.0源码,再安装即可

安装ceres

先看看自己安装的ceres路径是否和下面这些目录一致,使用如下命令删除

sudo rm -r /usr/local/lib/cmake/Ceres
sudo rm -rf /usr/local/include/ceres /usr/local/lib/libceres.a
sudo rm -r /usr/local/s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值