主要参考http://blog.csdn.net/dourenyin/article/details/48055441

1.编译g2o的过程中,

先是出现Eigen3依赖项的问题,要求Eigen3最低版本是3.1.0,而我的ROS上的版本是3.0.5.

于是下载了一个3.2.7的包进行编译并安装。

执行make命令,又出现如下两个错误。

解决方法:通过命令查看

$ gcc -march=native -Q —help=target | grep march

接下来修改CMakelists.txt文件

SET(CMAKE_CXX_FLAGS)项中
-march=native中的native 设置成corei7-avx

https://github.com/raulmur/ORB_SLAM 此处安装部分有具体说明。

参考:http://stackoverflow.com/questions/17126593/compile-errors-with-assembler-messages

2.编译OpenCV的时候出现如下错误:

make[2]: *** [modules/nonfree/CMakeFiles/opencv_perf_nonfree.dir/perf/perf_main.cpp.o] Error 1

make[1]: *** [modules/nonfree/CMakeFiles/opencv_perf_nonfree.dir/all] Error 2

make: ***[all] Error 2

在编译之前执行如下命令,怀疑会有后遗症,参考http://stackoverflow.com/questions/25354147/error-building-opencv-dumpopencldevice-method-error

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_nonfree=OFF -D BUILD_opencv_stitching=OFF -D BUILD_opencv_superres=OFF ..

3.编译OrbSLAM的时候注意文件夹名称和ROS工作空间名称为ORB_SLAM.