ubunto16.04编译orbslam2,运行时出现---段错误的解决方案---之-march=native大坑!!!!!!!!!!!!

在分析slam源码的时候,首先你所要做的一定是先编译并且成功运行slam的源码才会去研究它的组织架构,
那么好首先编译orbslam2的源码:
我们可能会遇见编译成功但是在运行的时候出现段错误的情况,经过我的测试,这是由于-march=native引起的,此时你需要打开g2o根目库下的cmakeLists.txt文件并且去掉里面的 -march=native 的指令(只要有就给去掉)(百度了但是没有查到这个命令是干啥的),然后找到orbslam2根目录下的cmakeLists.txt文件并且去掉-march=native,然后按照以下步骤进行编译…
1.首先在终端运行orbslam2的build.sh文件,进入orbslam2的根目录然后在终端执行 ./build.sh
这样我们就编译好了第三方库(可能会有报错error "unsleep"之类的,这时候你可以在报错文件中加上#include 头文件然后重新./build.sh就好了),然后运行就好了…
2.编译好第三方库以后,这时候除了在终端按照上面的方法编译也可以打开clion编译器,进行编译这样错误信息比较明显,然后遇到error "unsleep"的报错,解决方案和上面一样,至此即可编译成功,然后在运行就不会出现段错误了!!!

你可能感兴趣的:(c++,编译问题解决,SLAM)