g2o編譯及配置

2021-07-22 15:16:00 字數 1600 閱讀 6013

對於ubuntu14.04來說g2o的編譯和配置還是比較容易的,只不過今天走了一段彎路,很是上火。現在寫出我掉進去的坑,希望其他人不要再踩了。建議參考:

1.首先在

2.編譯、安裝:

mkdir build

cd build

cmake ../

make

sudo make install

注意:這裡「sudo make install」教程漏寫了(坑死哥哥了)。

用命令」sudo find / -name g2o」看到「/usr/local/include/g2o」和「/usr/local/bin/g2o」就ok了。

3.我要在乙個ros包裡用,所以在我的包的cmakelist.txt中加上(參照某位大神的部落格):

# 新增g2o的依賴

# 因為g2o不是常用庫,要新增它的findg2o.cmake檔案

set( g2o_root /usr/local/include/g2o )

find_package(g2o required)

if(g2o_found)

include_directories($)

message("g2o lib is found:"

$)endif(g2o_found)

## specify additional locations of header files

## your package locations should be listed before other locations

include_directories(

include$$

$$/usr/local/include

# location when using 'make system_install'

/usr/include

# more usual location (e.g. when installing using a package)

)## specify additional locations for library files

link_directories(

/usr/local/lib # location when using 'make system_install'

/usr/lib # more usual location (e.g. when installing using a package)

)....

target_link_libraries(depth_only $ keyframe g2o_core g2o_types_slam3d g2o_solver_csparse g2o_stuff g2o_csparse_extension)

我還遇到乙個錯誤:

depth_only

.cpp

:(.text+0x80fd): undefined

reference

to `g2o

::sparseoptimizer

::sparseoptimizer()'

.......

這是因為我沒鏈結g2o相應的庫。

g2o學習 g2o整體框架

進來對g2o優化庫進行了學習,雖然才模仿著寫了兩個例程,但是對於整個g2o的理解和使用方面還是多了不少的感觸,特此寫下部落格,對這些天的學習進行記錄。說到整體的結構,不得不用一張比較概括的圖來說明 這張圖最好跟著畫一下,這樣能更好的理解和掌握,例如我第一次看的時候根本沒有注意說箭頭的型別等等的細節。...

g2o擬合曲線

cmakelists cmake minimum required version 3.7 project g2o curve fitting robin set cmake cxx standard 11 新增g2o的cmake modual path find package g2o requi...

g2o學習筆記

綜上所述,在g2o中選擇優化方法一共需要三個步驟 選擇乙個線性方程求解器,從pcg csparse choldmod三個選一 選擇乙個blocksolver 選擇乙個迭代器,從gn lm doglog中選 其中read和write函式可以不進行覆寫,僅僅宣告一下就可以了,settooriginimp...