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  可能的原因~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM