本博客环境为Ubuntu 18.04 。
在编译slam项目时遇到报错如下, 为解决该问题安装g2o!
fatal error: g2o/core/base_vertex.h: No such file or directory
#include <g2o/core/base_vertex.h>
安装依赖项
在安装g2o之前,先安装依赖项
使用如下命令:
sudo apt-get install libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev
其中linqglviewer-dev安装不了,可以单独安装。去官网(http://libqglviewer.com/)直接下载,然后mkdir build;cd build;cmake …;make;sudo make install单独安装。(步骤跟下面的类似)
如果不需要g2o的viewer模块,则不必装该依赖项。
安装g2o
1、官网下载:https://github.com/RainerKuemmerle/g2o
2、使用如下命令直接安装。
git clone https://github.com/RainerKuemmerle/g2o.git
下载好后,进入g2o文件夹。
cd g2o
创建编译文件夹,命名为build。
mkdir build
进入文件夹进行配置。
cd build
cmake一下。
cmake ..
然后执行如下命令,编译过程可能会有点慢,耐心等待哦。
这里也可以使用make -j等命令速度会稍快一些,但如果电脑性能不佳,还是使用make命令较好。
make
编译安装。
sudo make install
常见问题与解决方案
问题1
Could NOT find CSPARSE (missing: CSPARSE INCL UDE DIR CSPARS E L IBRARY )
解决方案:
使用下列命令安装该依赖项
sudo apt-get install libsuitesparse-dev
问题2
fatal error: g2o/core/b se_ vertex.h: 没有那个文件或自录 #include <g2o/core/
解决方案:
编译器只会使用/lib和/usr/lib这两个目录下的库文件,这个错是因为编译过程中没有找到库文件。需要在安装g2o后安装库文件。使用以下命令:
进入该文件夹:
cd ~/g2o/build/
编译安装。
sudo make install