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

时间:2020-06-13 00:49:52   收藏:0   阅读:505

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

编译安装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  可能的原因~

原文:https://www.cnblogs.com/zsilverj/p/13110987.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!