Ubuntu18.04中Ceres库编译安装调用问题~

Posted zsilverj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu18.04中Ceres库编译安装调用问题~相关的知识,希望对你有一定的参考价值。

这是一个我爬了两天才爬出来的坑,记录一下:

编译安装Ceres库之前先安装其依赖项:

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev

在这里可能遇见无法定位libcxsparse3.1.2,解决办法见下:

//第一步,打开sources.list
sudo gedit /etc/apt/sources.list
//第二步,将下面的源粘贴到最上方sources.list
deb http://cz.archive.ubuntu.com/ubuntu trusty main universe 
//第三步,更新源
sudo apt-get update
//第四步,重新输入依赖项安装命令安装依赖项
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev

然后解压ceres-solver-1.14.0.zip,进入解压后的文件,打开终端,编译安装:

mkdir build 
cd build
cmake ..
make -j8  //可用nproc这个命令查看cpu核心数,我的cpu核心数是8
sudo make install

安装成功!

为了安心,验证安装成功:在build目录下,输入命令:

bin/simple_bundle_adjuster ../data/problem-16-22106-pre.txt  //注意,路径问题,得自己去找自己安装后这两个文件在什么地方

出现以下信息则说明安装成功~

技术图片

 

 

 熬了我两天的坑来了:

但是在我运行工程的时候,会出现以下提示:翻了好多博客,意思就是cxsparse.cc:undefined reference to “XXX”——这种就是这个库的链接可能出现了什么问题,但都不知道怎么解决

技术图片

 

 翻了很多博客,感谢参考中的特别标明的这位博主,我对照他给出的这个

技术图片

修改了我工程中的MakeFile中ceres链接库,添加了-lcxsparse,见下,成功编译了工程!

技术图片

参考了众多博客,我觉得这条是最有原因的,详情翻看参考链接第三条

参考:

http://www.ceres-solver.org/installation.html

https://blog.csdn.net/DrElaine/article/details/80684355   非常感谢这位博主~解决了我的坑

https://blog.csdn.net/xp_zz/article/details/95450132  可能的原因~

以上是关于Ubuntu18.04中Ceres库编译安装调用问题~的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu18.04下安装多版本PCL库(为成功编译loam_livox)

ubuntu18.04安装opencv的viz模块

linux ceres-solver怎么编译

Ubuntu20.04下运行VINS-MonoGVINS

Ubuntu18.04安装opencv和opencv_contrib

ubuntu16.04下编译ceres-solver