《SLAM十四讲》中g2o的安装

遇到的问题:

一开始我安装的是g2o的官方最新版本,结果在运行程序的时候遇到了如下错误,网上找了大半天发现是g2o安装版本的问题,重新安装高博gitHub 3d party里的g2o

build/curve_fitting: symbol lookup error: build/curve_fitting: undefined symbol: _ZN3g2o30OptimizationAlgorithmLevenbergC1ESt10unique_ptrINS_6SolverESt14default_deleteIS2_EE

《SLAM十四讲》中g2o的安装_第1张图片


重装步骤:

1 删除原来的g2o库

g2o会安装在usr\local\bin,usr\local\include,usr\local\lib三个文件夹中,进入这三个文件夹,在终端输入

sudo rm -rf *g2o*

2 安装依赖项

sudo apt-get install cmake libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer-dev    ( libcxsparse3.1.2 libcholmod-dev这两个包找不到,没有影响,继续往下执行)

这一步遇到下面这些错误也不用管,不知道是什么原因,可能是这个库已经存在于其他地方了,所以即便安装不上也没事。

 《SLAM十四讲》中g2o的安装_第2张图片

 

3 编译g2o并安装

在高翔的3rdparty文件夹下,tar -xzvf g2o.tar.gz 解压g2o;在g2o文件夹下:

mkdir build

cd build

cmake ..

make

sudo make install

4 运行程序但遇到这样的错误

./curve_fitting: error while loading shared libraries: libg2o_core.so: cannot open shared object file: No such file or directory

解决方法(参考链接)

sudo gedit /etc/ld.so.conf

在里面加入

include /usr/local/lib

运行

sudo ldconfig

你可能感兴趣的:(SLAM)