原因:g2o版本更新引起的错误修改
3d3d报错:
/home/yk/桌面/slambook-master/ch7/pose_estimation_3d3d.cpp: In function ‘void bundleAdjustment(const std::vector<cv::Point3_<float> >&, const std::vector<cv::Point3_<float> >&, cv::Mat&, cv::Mat&)’:
/home/yk/桌面/slambook-master/ch7/pose_estimation_3d3d.cpp:280:74: error: ‘LinearSolverCSparse’ in namespace ‘g2o’ does not name a template type
std::unique_ptr<Block::LinearSolverType> linearSolver ( new g2o::LinearSolve
^
/home/yk/桌面/slambook-master/ch7/pose_estimation_3d3d.cpp:280:115: error: expected primary-expression before ‘>’ token
verType> linearSolver ( new g2o::LinearSolverCSparse<Block::PoseMatrixType>());
^
/home/yk/桌面/slambook-master/ch7/pose_estimation_3d3d.cpp:280:117: error: expected primary-expression before ‘)’ token
verType> linearSolver ( new g2o::LinearSolverCSparse<Block::PoseMatrixType>());
^
/home/yk/桌面/slambook-master/ch7/pose_estimation_3d3d.cpp:287:9: error: ‘OptimizationAlgorithmLevenberg’ is not a member of ‘g2o’
g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgo
^
/home/yk/桌面/slambook-master/ch7/pose_estimation_3d3d.cpp:287:46: error: ‘solver’ was not declared in this scope
g2o::OptimizationAlgorithmLevenberg* solver = new g2o::O