遇到的问题:
一开始我安装的是g2o的官方最新版本,结果在运行程序的时候遇到了如下错误,网上找了大半天发现是g2o安装版本的问题,重新安装高博gitHub 3d party里的g2o
build/curve_fitting: symbol lookup error: build/curve_fitting: undefined symbol: _ZN3g2o30OptimizationAlgorithmLevenbergC1ESt10unique_ptrINS_6SolverESt14default_deleteIS2_EE
重装步骤:
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这两个包找不到,没有影响,继续往下执行)
这一步遇到下面这些错误也不用管,不知道是什么原因,可能是这个库已经存在于其他地方了,所以即便安装不上也没事。
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