1耗时问题
在g2o中有许多Solver可以选择。
实测发现Dense非常非常的慢,慢到不能用。
后面改成Cholmod就非常快。
在使用Cholmod时还需要在cmakelists里加一个lib的依赖 cholmod
这个cmakelists比较乱,可以做很多精简,这里仅仅做个记录
cmake_minimum_required( VERSION 2.8 )
cmake_policy(VERSION 2.8)
project ( g2o_test )
set( CMAKE_CXX_COMPILER "g++" )
set( CMAKE_CXX_FLAGS "-std=c++11 -O3 " )
list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules )
############### dependencies ######################
# Eigen
include_directories( "/usr/include/eigen3" )
# G2O
find_package( G2O REQUIRED )
find_package( Cholmod REQUIRED )
include_directories( ${G2O_INCLUDE_DIRS} )
find_package( CSparse REQUIRED )
include_directories(
${G2O_INCLUDE_DIRS}
${CSPARSE_INCLUDE_DIR}
${Cholmod_INCLUDE_DIR}
)
message("include_dir = " ${G2O_CORE_LIBRARY_DEBUG})
message("include_dir = " ${Cholmod_INCLUDE_DIR})
set( THIRD_PARTY_LIBS
${Cholmod_LIBRARIES}
# ${G2O_CORE_LIBRARY_DEBUG}
# ${G2O_STUFF_LIBRARY_DEBUG}
# ${G2O_TYPES_SLAM3D_DEBUG}
# ${G2O_TYPES_SBA_DEBUG}
cholmod
g2o_types_slam3d
g2o_types_sba
g2o_core
g2o_stuff
g2o_s