视觉slam十四讲的库安装

1.前言

在一台新的电脑,按照高翔的《视觉slam十四讲》安装库。

2.安装步骤

2.1安装sophus

sophus用的是高翔提供的;

 

2.2安装eigen

安装高翔书指示

 

2.3安装opencv3

到opencv官网下载

2.4安装ceres

出现错误

google::base::CheckOpMessageBuilder::NewString()’未定义的引用
../../lib/libceres.a(block_sparse_matrix.cc.o):在函数‘std::string* google::MakeCheckOpString(int const&, int const&, char const*)’中:
block_sparse_matrix.cc:(.text._ZN6google17MakeCheckOpStringIiiEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPSsRKT_RKT0_PKc]+0x50):对‘google::base::CheckOpMessageBuilder::NewString()’未定义的引用
../../lib/libceres.a(block_sparse_matrix.cc.o):在函数‘std::string* google::MakeCheckOpString(unsigned long const&, unsigned long const&, char const*)’中:
block_sparse_matrix.cc:(.text._ZN6google17MakeCheckOpStringImmEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringImmEEPSsRKT_RKT0_PKc]+0x51):对‘google::base::CheckOpMessageBuilder::NewString()’未定义的引用

网上说可能是没有升级gcc的原因。

如下升级gcc

1 sudo add-apt-repository ppa:ubuntu-toolchain-r/test 
2 sudo apt-get update
3sudo apt-get install gcc-5 g++-5

问题依然出现

然后使用这个语句进行cmake

cmake -DCMAKE_CXX_COMPILER=g++-5 ..

问题解决,ceres编译通过

但是在编译ceres_curve_fitting的时候出错

[ 50%] Building CXX object CMakeFiles/curve_fitting.dir/main.cpp.o
[100%] Linking CXX executable curve_fitting
CMakeFiles/curve_fitting.dir/main.cpp.o: In function `std::string* google::MakeCheckOpString(int const&, int const&, char const*)':
/usr/include/glog/logging.h:672: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
CMakeFiles/curve_fitting.dir/main.cpp.o: In function `std::string* google::MakeCheckOpString(int const&, ceres::DimensionType const&, char const*)':
/usr/include/glog/logging.h:672: undefined reference to `google::base::CheckOpMessageBuilder::NewString()'
CMakeFiles/curve_fitting.dir/main.cpp.o: In function `main':
/media/huxian/文件盘/ubuntu_share/视觉SLAM十四讲代码/ch6/ceres_curve_fitting/main.cpp:73: undefined reference to `ceres::Solver::Summary::BriefReport() const'
collect2: error: ld returned 1 exit status
CMakeFiles/curve_fitting.dir/build.make:122: recipe for target 'curve_fitting' failed
make[2]: *** [curve_fitting] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/curve_fitting.dir/all' failed
make[1]: *** [CMakeFiles/curve_fitting.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
*** Failure: Exit code 2 ***

切换gcc

sudo update-alternatives --config gcc

你可能感兴趣的:(其他)