反复踩坑的ceres安装-----ubuntu18.04
笔者最近跑Lio-sam,对imu内参进行标定需要用到ceres库。笔者环境中安装了eigen3.3.4,eigen3.3.2以上可以安装ceres1.14版本,因此笔者从git上下载了ceres1.14,开始了踩坑之旅。
1、源码下载
ceres的git仓库:https://github.com/ceres-solver/ceres-solver
在tag里选择1.14版本下载,找不到tag参照上篇博客里的截图。
2、依赖安装
有些博客会告诉你使用如下命令安装依赖:
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev
但是这句命令在ubuntu18.04下会报如下错误:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 libcxsparse3.1.2
E: 无法按照 glob ‘libcxsparse3.1.2’ 找到任何软件包
E: 无法按照正则表达式 libcxsparse3.1.2 找到任何软件包
原因是ubuntu18.04中libcxsparse的版本号是3,因此正确命令如下:
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
这个库版本号的对应关系如下:
libcxsparse3.1.2————————ubuntu14.04
libcxsparse3.1.4————————ubuntu16.04
libcxsparse3————————————ubuntu18.04
可以在这个网站输入库名查正确的版本:Ubuntu – Ubuntu Packages Search。堪称终极解决方案。
至于其他添加软件源之类的解决办法,经过测试都不可行。
3、ceres编译安装
解压ceres1.14,无所谓在哪个目录下面,进入解压后的文件夹,打开终端做如下操作是最稳妥的:
mkdir build
cd build
cmake ..
make -j3
make test
sudo make install
安装后打开/usr/local/include查看一下是否建立了ceres安装目录,此刻试图编译我要跑的标定包(依赖ceres),终于不报找不到ceres库的错了。下面是踩坑记录:
一开始使用网上的教程编译安装ceres失败,报错如下:
Could not find a package configuration file provided by "Ceres" with any of
the following names:CeresConfig.cmake
ceres-config.cmake
在系统目录中没有找到ceres的安装目录,判断是安装不成功,多方尝试没有好的解决办法,索性删了安装目录重新装。于是用下面命令安装:
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX=/usr/local/ceres .. #前提是在local下自己建立了一个ceres目录
sudo make install
依然报上面的错误。说明没找到ceres库 ,在包的cmake文件中这样写:
include_directories("/usr/local/ceres/lib/cmake/Ceres")
或
set(Ceres_DIR /usr/local/ceres/lib/cmake/Ceres)
报错变成了这样:
In file included from /home/lisheng/catkin_ws/src/loam_livox-master/source/laser_mapping.cpp:37:0:
/home/lisheng/catkin_ws/src/loam_livox-master/source/laser_mapping.hpp:40:10:
fatal error: ceres/ceres.h: 没有那个文件或目录
#include <ceres/ceres.h>
^~~~~~~~~~~~~~~
compilation terminated.
实在不知道哪里出了问题,又删了安装目录用本节开头的步骤重新装,终于没有ceres报错了。
奇怪错误的背后一定有深刻的逻辑,可惜自己还是个菜鸟。
反复踩坑的ceres安装-----ubuntu18.04相关推荐
- 暗影骑士擎Pro 之 安装Ubuntu18.04 双系统 踩坑记录(一)
最近新买了个笔记本,即文章名字:Acer的暗影骑士擎Pro.考虑到学校附近也有几家宏基的官方售后店,万一出问题售后也好解决,然后就买了.因为我研究生阶段主要都用Ubuntu,所以必然得给他装个双系 ...
- 总结及处理u盘安装Ubuntu18.04的坑
U盘安装Ubuntu18.04 总结我在用u盘安装win10和ubuntu双系统过程中遇到的坑和解决方案 本博客中不再赘述相关具体教程,只说明重要部分 更新于2020.9.15 今天在实验室电脑上装了 ...
- 记录下炫龙u盘启动安装ubuntu18.04的坑
首先很多人 在安装ubuntu18.04的时候总是黑屏,这是因为ubuntu自带显卡驱动和电脑本身显卡驱动不适配 解决方案 注:u盘制作不要用UltralSo!!! 用Rufus制作,过程度娘上很多, ...
- 拯救者Y9000P 安装Ubuntu18.04 、Ros Melodic等相关配置过程中出现的错误及解决办法
电脑配置:拯救者Y9000P 2022 i9 3060 目录 一.安装Ubuntu18.04 1.安装UltralSO时无法写入镜像文件,显示磁盘/映像空间太小 2.由于2022拯救者Y9000PBI ...
- Linux安装Ubuntu18.04/显卡驱动/CUDA11.4/cuDNN8.2
Linux安装Ubuntu18.04/显卡驱动/CUDA11.4/cuDNN8.2踩坑记录: [准备工作] 在Ubuntu官网或者清华源软件镜像下载Unbuntu18.04的镜像文件:[为方便小伙伴们 ...
- 联想拯救者R9000P 3060 VMware安装ubuntu18.04
目录 联想拯救者R9000P 3060 VMware安装ubuntu18.04 联想拯救者R9P一些操作 注意事项 联想拯救者R9000P 3060 VMware安装ubuntu18.04 折腾老半天 ...
- ThinkPad X1E安装Ubuntu18.04及nvidia显卡驱动
ThinkPad X1 Extreme安装Ubuntu18.04 LTS以及nvidia GTX1050ti显卡驱动 之前一直使用虚拟机ubuntu进行开发学习工作,这样无法发挥显卡的全部性能,系统性 ...
- Nvidia RTX20系列显卡安装Ubuntu18.04解决黑屏问题
问题描述 显卡为NVIDIA RTX20系列,硬盘空白,需要安装Ubuntu18.04. 如果你只是想安装Ubuntu系统玩一玩,那么建议安装Ubuntu20.04,自带比较新的显卡驱动且安装系统时会 ...
- 移动盘安装 Ubuntu18.04 记录
移动盘安装 Ubuntu18.04 血淋淋的教训.本人尝试安装 ubuntu 不下 50 次,总算汇总了一些坑,和解决的方法.所以说这套方法可能不适合每一个人,不过你如果遇到下面的这些问题(我的配置是 ...
- cudnn下载_记录新电脑安装Ubuntu18.04,CUDA, cuDNN全过程
不得不说,装机一时爽,一直装机一直爽.现在对于bug还有些期待了,要是安装的过程中不出现bug反而还在担心.话不多说,直接进入主题. 安装Ubuntu18.04: 下载系统镜像: https://ub ...
最新文章
- php网站安全狗绕过,最新安全狗绕过姿势 - Azeng呐的个人空间 - OSCHINA - 中文开源技术交流社区...
- 清华旷视:RepVGG,更佳的速度-精度trade-off!
- 5 年提速 500 倍,英伟达 GPU 创纪录突破与技术有哪些?
- ORACLE 查询日志
- 关于AJAX访问数据库不能及时获得更新数据的问题
- STL里resize和reserve的区别?
- jquery中的ajax如何接收json串形式的接口
- java基础--网络编程
- phpStydy配置memcache扩展
- 不用担心越界,不用中间变量的数值交换
- js 高级应用 自定义事件
- PHP+sqlsrv的分页实现
- 【数据库】数据库安全(授权,回收)
- 利用计算机技术设计直流稳压电源,数字化控制在直流稳压电源中 - 稳压电源 - 电子发烧友网...
- 初中数学分几个模块_初中数学分成三大模块
- 通过Docker容器搭建私有网盘(NextCloud)
- Python模块pathlib
- ORACLE 数据库常遇问题
- 配置Hibernate环境
- Bootstrap5不再支持IE浏览器,在网站顶部给IE浏览器访客给予提示
热门文章
- 变量选择详解与源码实现
- Phalcon框架启动流程(部分源码)分析
- BLDC无刷直流电机
- 广义相对论-学习记录6-第三章-张量分析与黎曼几何3
- [教程] ESP32+TFT+分光棱镜实现透明小电视
- lazysnapping
- 语言-汉语-官话-中原官话-兖菏片:兖菏片
- python中fun函数求1+2…+n_功能:编写函数fun求1!+2!+3!+ …… +n!的和,在main函 数中由键盘输入n值,并输出运算结果。请编写fun 函数...
- InputStream输入流七牛上传图片
- Vant => van-field校验手机号 邮箱校验