gaoxiang12 / slambook2

edition 2 of the slambook
MIT License
5.3k stars 1.99k forks source link

ch9 BA_g2o 用新库无法通过编译 #291

Closed sja3015 closed 9 months ago

sja3015 commented 9 months ago

报错如下: /usr/bin/ld: CMakeFiles/bundle_adjustment_g2o.dir/bundle_adjustment_g2o.cpp.o: in function SolveBA(BALProblem&)': bundle_adjustment_g2o.cpp:(.text+0x26e3): undefined reference tog2o::csparse::CSparse::CSparse()' /...../

/usr/bin/ld: CMakeFiles/bundle_adjustment_g2o.dir/bundle_adjustment_g2o.cpp.o: in function g2o::LinearSolverCSparse<Eigen::Matrix<double, 9, 9, 0, 9, 9> >::init()': bundle_adjustment_g2o.cpp:(.text._ZN3g2o19LinearSolverCSparseIN5Eigen6MatrixIdLi9ELi9ELi0ELi9ELi9EEEE4initEv[_ZN3g2o19LinearSolverCSparseIN5Eigen6MatrixIdLi9ELi9ELi0ELi9ELi9EEEE4initEv]+0xd): undefined reference tog2o::csparse::CSparse::freeSymbolic()' 三种

是因为连接库没链接全 只需将 原SET(G2O_LIBS g2o_csparse_extension g2o_stuff g2o_core cxsparse ) 添加 g2o_solver_csparse 改为SET(G2O_LIBS g2o_csparse_extension g2o_stuff g2o_core cxsparse g2o_solver_csparse) 即可