g2o安裝和使用
安裝依賴
sudo apt-get install libeigen3-dev libsuitesparse-dev qtdeclarative5-dev qt5-qmake
下載源碼
git clone https://github.com/RainerKuemmerle/g2o.git
開始編譯
cd g2o
mkdir build
cd build
cmake ..
make
安裝
sudo make install
安裝成功之後,運行會出現鏈接動態庫失敗的錯誤。
錯誤的原因是/usr/local/lib不在系統查找.so文件的路徑下。需自行添加路徑。
在/etc/ld.so.conf文件中添加/usr/local/lib目錄
然後更新緩存
sudo ldconfig
使用
將g2o的源文件目錄中的camke_module文件夾複製到項目中,然後在項目的CMakeLists.txt中添加引用如下:
########################## g2o ########################################
# 因爲g2o不是常用庫,要添加它的findg2o.cmake文件
LIST( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_module )
SET( G2O_ROOT /usr/local/include/g2o )
FIND_PACKAGE( G2O REQUIRED)
# CSparse
FIND_PACKAGE( CSparse REQUIRED)
INCLUDE_DIRECTORIES( ${G2O_INCLUDE_DIR} ${CSPARSE_INCLUDE_DIR} )
SET(G2O_LIBS g2o_cli g2o_ext_freeglut_minimal g2o_simulator g2o_solver_slam2d_linear
g2o_types_icp g2o_types_slam2d g2o_core g2o_interface g2o_solver_csparse
g2o_solver_structure_only g2o_types_sba g2o_types_slam3d g2o_csparse_extension
g2o_opengl_helper g2o_solver_dense g2o_stuff g2o_types_sclam2d g2o_parser g2o_solver_pcg
g2o_types_data g2o_types_sim3 g2o_solver_cholmod cxsparse )
...
target_link(${PROJECT_NAME} ${G2O_LIBS)
########################################################################