**
libORB_SLAM2.so: undefined symbol: _ZTVN3g2o25EdgeSE3ProjectXYZOnlyPoseE
**
报错:
libORB_SLAM2.so: undefined symbol: _ZTVN3g2o25EdgeSE3ProjectXYZOnlyPoseE
运行orbslam2 出现标题的的错误。
猜测是我们之前装的g2o的动态链接库 与orbslam2中编译的g20动态链接库 出现了问题。
一种方法就是,指定orbslam2 使用自带g20的链接库 ,没改好
第二种就是将原先的安装的g2o 删除,
- 删除的头文件,位于/usr/local/include/g2o
sudo rm -r /usr/local/include/g2o
- 删除库文件,位于/usr/local/lib中
sudo rm -r /usr/local/lib/libg2o*
- 删除g2o的可执行文件,位于/usr/local/bin下
sudo rm -r /usr/local/bin/g2o*
第二种方法是可以的。很好奇之前都没出现这个问题,至于为什么这样子,还没搞懂
补充解释!!!
该问题应该是我系统中安装的给g2o与orbslam2中的g2o产生了冲突。
再加上 自己orbslam中的g2o是修改过的,生成的lib文件夹下的动态链接库 有所不同。
因此解决办法就是:就是删除掉自行安装的g2o,然后在继续编译这样子可以通过!!!