slam十四讲ch7中的pose_estimation_3d2d报错:error while loading shared libraries: libg2o_core.so: cannot open

在运行slam十四讲中的pose_estimation_3d2d时遇到错误,问题在于无法加载libg2o_core.so库。通过检查发现已安装的g2o库未被系统正确识别。解决方案是更新环境变量,指示系统g2o库的位置。具体操作包括编辑环境配置文件,添加g2o库路径,并在终端执行使改动生效的命令。参考相关博客成功解决问题。
摘要由CSDN通过智能技术生成

pose_estimation_3d2d中显示错误的代码段为初始化g2o中的片段:

    // 初始化g2o
    typedef g2o::BlockSolver< g2o::BlockSolverTraits<6,3> > Block;  // pose 维度为 6, landmark 维度为 3
    Block::LinearSolverType* linearSolver = new g2o::LinearSolverCSparse<Block::PoseMatrixType>(); // 线性方程求解器
    Block* solver_ptr = new Block ( linearSolver );     // 矩阵块求解器
    g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( solver_ptr );
    g2o::SparseOptimizer optimizer;
    optimizer.setAlgorithm ( solver );

是这一句报错:

    g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( solver_ptr );

报错的内容大概意思是不能使用这个库中的内容,但是我刚刚装好的g2o,却显示无法获得这个库的函数,有点奇怪。

搜了一波,找到了解决方法,原来要配置环境(与配置opencv相同,告诉系统你安装了g2o库的位置,让他赶紧去调用):
打开这个文件:

sudo gedit /etc/ld.so.conf
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值