本以为是g2o本身的问题:
sudo make uninstall
usr/lib
sudo rm -r libg2o*
usr/local/
sudo rm -r g2o
重装g2o还是不行哦
100%] Building CXX object CMakeFiles/g2o_customBundle.dir/g2o_bundle.cpp.o
Linking CXX executable g2o_customBundle
/home/os/catkin_ws/devel/lib/libcholmod.a(cholmod_super_numeric.o): In function `cholmod_super_numeric':
cholmod_super_numeric.c:(.text+0xe62): undefined reference to `dsyrk_'
cholmod_super_numeric.c:(.text+0xfa4): undefined reference to `dgemm_'
cholmod_super_numeric.c:(.text+0x1315): undefined reference to `dpotrf_'
cholmod_super_numeric.c:(.text+0x1441): undefined reference to `dtrsm_'
cholmod_super_numeric.c:(.text+0x1edd): undefined reference to `zherk_'
cholmod_super_numeric.c:(.text+0x2017): undefined reference to `zgemm_'
cholmod_super_numeric.c:(.text+0x244a): undefined reference to `zpotrf_'
cholmod_super_numeric.c:(.text+0x2594): undefined reference to `ztrsm_'
cholmod_super_numeric.c:(.text+0x2fed): undefined reference to `zherk_'
cholmod_super_numeric.c:(.text+0x3127): undefined reference to `zgemm_'
cholmod_super_numeric.c:(.text+0x352e): undefined reference to `zpotrf_'
cholmod_super_numeric.c:(.text+0x3678): undefined reference to `ztrsm_'
/home/os/catkin_ws/devel/lib/libcholmod.a(cholmod_super_solve.o): In function `cholmod_super_lsolve':
cholmod_super_solve.c:(.text+0x549): undefined reference to `ztrsm_'
cholmod_super_solve.c:(.text+0x619): undefined reference to `zgemm_'
cholmod_super_solve.c:(.text+0x8d6): undefined reference to `dtrsm_'
cholmod_super_solve.c:(.text+0x9a2): undefined reference to `dgemm_'
cholmod_super_solve.c:(.text+0xb29): undefined reference to `dtrsv_'
cholmod_super_solve.c:(.text+0xbc7): undefined reference to `dgemv_'
cholmod_super_solve.c:(.text+0xd62): undefined reference to `ztrsv_'
cholmod_super_solve.c:(.text+0xe08): undefined reference to `zgemv_'
/home/os/catkin_ws/devel/lib/libcholmod.a(cholmod_super_solve.o): In function `cholmod_super_ltsolve':
cholmod_super_solve.c:(.text+0x140d): undefined reference to `zgemm_'
cholmod_super_solve.c:(.text+0x14b3): undefined reference to `ztrsm_'
cholmod_super_solve.c:(.text+0x17ae): undefined reference to `dgemm_'
cholmod_super_solve.c:(.text+0x1847): undefined reference to `dtrsm_'
cholmod_super_solve.c:(.text+0x1a2b): undefined reference to `dgemv_'
cholmod_super_solve.c:(.text+0x1a82): undefined reference to `dtrsv_'
cholmod_super_solve.c:(.text+0x1c4c): undefined reference to `zgemv_'
cholmod_super_solve.c:(.text+0x1cb1): undefined reference to `ztrsv_'
collect2: error: ld returned 1 exit status
make[2]: *** [g2o_customBundle] Error 1
make[1]: *** [CMakeFiles/g2o_customBundle.dir/all] Error 2
make: *** [all] Error 2
os@zzz:~/slambook-master/ch10/g2o_custombundle/build$
发现链接到别的库:
Found CHOLMOD: /home/os/catkin_ws/devel/include/suitesparse
解决办法:
set +gedit .bashrc
set( G2O_DIR "/usr/local/include")
#source ~/catkin_ws/devel/setup.bash
OK