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)