由于买的是高博的新书slambook2。。。。。。所以版本问题很d疼(又没学会克隆子模块)
因此库的版本与代码的兼容性一直很头疼
现在看到第六章,g2o下载下来却编译报错,怀疑就是版本问题。
一般来说,报错形式为:
:error: ‘make_unique’ is not a member of ‘g2o’
或者是报一些符号的错,根源都是版本问题
因此直接在github上克隆最新的g2o进行安装
下面是总体安装流程:
1. G2O安装过程
git clone https://github.com/RainerKuemmerle/g2o # 克隆最新版本g2o
cd g2o
mkdir build
cd build
cmake ..
make -j10 # 注意,这里尽量使用更多的j,否则g2o安装很慢(-j4 -j6等等)
sudo make install
2. CMakeLists.txt引用g2o
注意,要使用list和set,, 最后链接库文件的时候用的是g2o_core和g2o_stuff
LIST( APPEND CMAKE_MODULE_PATH /home/mjy/slambook2/3rdparty/g2o/g2o/cmake_modules )
SET( G2O_ROOT /usr/local/include/g2o )
find_package(G2O REQUIRED)
include_directories(${G2O_INCLUDE_DIRS})
add_executable(g2oCurveFitting g2oCurveFitting.cpp)
target_link_libraries(g2oCurveFitting g2o_core g2o_stuff)