关于高博十四讲中由于g2o更新出现的问题解决
2018-01-17 11:32
756 查看
在高博视觉slam十四讲中的第6讲中实践g2o中出现了编译错误。
typedef g2o::BlockSolver<g2o::BlockSolverTraits<3,1> > Block; // 每个误差项优化变量维度为3,误差值维度为1
std::unique_ptr<Block::LinearSolverType> linearSolver ( new g2o::LinearSolverDense<Block::PoseMatrixType>());
//Block::LinearSolverType* linearSolver = new g2o::LinearSolverDense<Block::PoseMatrixType>(); // 线性方程求解器
std::unique_ptr<Block> solver_ptr ( new Block ( std::move(linearSolver)));
//Block* solver_ptr = new Block( linearSolver ); // 矩阵块求解器
// 梯度下降方法,从GN, LM, DogLeg 中选
g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg ( std::move(solver_ptr));
//g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( solver_ptr );
然后就编译成功了。
/home/ze/slam/slambook-master/ch6/g2o_curve_fitting/build> make -j4
[100%] Built target curve_fitting
*** Finished ***
/home/ze/am/slambook-master/ch6/g2o_curve_fitting/main.cpp:77:49: error: no matching function for call to ‘g2o::BlockSolver<g2o::BlockSolverTraits<3, 1> >::BlockSolver(g2o::BlockSolver<g2o::BlockSolverTraits<3, 1> >::LinearSolverType*&)’ Block* solver_ptr = new Block( linearSolver ); // 矩阵块求解器通过查找百度查询,看到一篇博客展现了也是在编译高博视觉slam十四讲g2o环节出现问题的解决方案,http://blog.csdn.net/robinhjwy/article/details/78084210模仿这位作者的解决过程,修改了我的代码,
typedef g2o::BlockSolver<g2o::BlockSolverTraits<3,1> > Block; // 每个误差项优化变量维度为3,误差值维度为1
std::unique_ptr<Block::LinearSolverType> linearSolver ( new g2o::LinearSolverDense<Block::PoseMatrixType>());
//Block::LinearSolverType* linearSolver = new g2o::LinearSolverDense<Block::PoseMatrixType>(); // 线性方程求解器
std::unique_ptr<Block> solver_ptr ( new Block ( std::move(linearSolver)));
//Block* solver_ptr = new Block( linearSolver ); // 矩阵块求解器
// 梯度下降方法,从GN, LM, DogLeg 中选
g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg ( std::move(solver_ptr));
//g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( solver_ptr );
然后就编译成功了。
/home/ze/slam/slambook-master/ch6/g2o_curve_fitting/build> make -j4
[100%] Built target curve_fitting
*** Finished ***
相关文章推荐
- 关于安装安卓SDK出现无法更新问题时的解决办法
- 关于更新windows Service Pack 3 更新后系统登录出现“一个问题阻止Windows正确检查机器的许可证。错误代码 0x80070002”问题解决方案
- 关于shtml页面include问题解决方案因为utf-8的BOM头引起的出现一个空行
- 关于保存*.js是出现some character can not mapped using "iso-8859-1" 的问题解决见解
- 应用程序无法正常启动0xc0000142) 关于win10周年版更新后无法正常使用vc6.0问题的解决方法
- iOS开发之使用CocoaPods更新第三方出现“target overrides the `OTHER_LDFLAGS`……”问题解决方案
- Ubuntu 解决更新软件包的时候出现的 “Low Disk Space” 存储空间不足问题
- ListView 异步更新出现问题的解决(Handler)
- 关于网络硬件配置出现问题,无法上网问题的解决
- 【游戏开发备注之一】关于Cocos2dx_v1.x版本iphone与Android运行出现图片白块、添加GameCenter报错问题及编译Android闪退的解决办法&&CCLOG与CClog的区别
- 关于IIS6.0配置网站打开出现空白问题解决方法
- 解决XP操作系统系统升级(补丁更新)后出现的文件夹无法删除的问题(support、update)
- 关于jquery中使用slidDown出现问题的解决办法
- 关于在Eclipse中启动Weblogic服务器时出现Parsing Failure in config.xml问题解决方法
- php、asp.net关于后台设置的cookie前台JS获取时出现中文乱码问题解决
- 关于android导入工程时出现的@Override错误问题的解决(转)
- 关于安装nagios make all时出现问题的解决方法
- 关于在eclipse里导入的项目出现 build.properties not exists 的问题如何解决
- 关于PHP中出现乱码和Sessions验证问题的解决方法!
- 关于struts2.1.6前台传递中文参数到后台action出现乱码问题的解决办法