https://www.imooc.com/article/details/id/29136

1. 提示“CMAKE_CXX_COMPILER-NOTFOUND ”

具体形式:

Check for working CXX compiler: CMAKE_CXX_COMPILER-NOTFOUND

CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.

Please set CMAKE_CXX_COMPILER to a valid compiler path or name.

解决方法:

sudo apt-get install g++
2.(1)在ubuntu18.04系统上安装opencv但是在安装依赖包的过程中,有一个依赖包,libjasper-dev在使用命令

sudo apt-get install libjaster-dev

提示:无法定位软件包 libjasper-dev

后来google到解决办法,复制到这里

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

成功的解决了问题,其中libjasper1是libjasper-dev的依赖包

(2)提示“ROS / OpenCV Ubuntu安装“usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: 没有那个文件或目录””

解决办法:

预编译的问题,在编译前加入命令屏蔽预编译就行了

-D ENABLE_PRECOMPILED_HEADERS=OFF

3. 注意eigen 本人亲测Eigen3.2.10

wget https://bitbucket.org/eigen/eigen/get/3.2.10.tar.bz2
tar -xjf 3.2.10.tar.bz2

改文件夹名字

cd eigen
mkdir build
cd build
cmake ..
make
sudo make install

4. ImportError: No module named catkin_pkg.package

注意Python版本 ros-melodic对应Python3

5. 编译安装python3.7时

提示“ModuleNotFoundError: No module named '_ctypes'”

解决办法

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev

安装完libffi后在编译安装就不报错了

6. 编译./build_ros.sh

提示[rosbuild] rospack found package "ORB_SLAM2" at "", but the current   directory is "/home/angelo/ORB_SLAM2/Examples/ROS/ORB_SLAM2".  You should   double-check your ROS_PACKAGE_PATH to ensure that packages are found in the   correct precedence order.

解决办法:输入

 sudo ln -s ~/ORB_SLAM2/Examples/ROS/ORB_SLAM2 /opt/ros/<ros版本名>/share/ORB_SLAM2

7. 编译遇到找不到#include<Eigen/Dense>

解决办法:进入usr/local/include/eigen3将eigen3中的Eigen文件递归地复制到上一层文件夹(直接放到include):因为在很多程序中include时经常使用#include <Eigen/Dense>而不是使用的#include <eigen3/Eigen/Dense>所以要做下处理,否则一些程序在编译时会因找不到Eigen/Dense而报错。

8. 编译遇到libboost_system.so: 无法添加符号: DSO missing from command line

解决办法:在Examples/ROS/ORB_SLAM2/Cmakelist.txt 的文件后面加入两句话:

target_link_libraries(Stereo boost_system boost_filesystem)
target_link_libraries(RGBD boost_system boost_filesystem)

9.安装Opencv的时候

提示

CMake Error at cmake/OpenCVDetectCXXCompiler.cmake:85 (list):

list GET given empty list

Call Stack (most recent call first):

CMakeLists.txt:109 (include)

CMake Error at cmake/OpenCVDetectCXXCompiler.cmake:86 (list):

list GET given empty list

Call Stack (most recent call first):

CMakeLists.txt:109 (include)

CMake Error at cmake/OpenCVDetectCXXCompiler.cmake:89 (math):

math cannot parse the expression: "*100 + ": syntax error, unexpected

exp_TIMES, expecting exp_OPENPARENT or exp_NUMBER (1)

Call Stack (most recent call first):

CMakeLists.txt:109 (include)

 解决办法:

在文件opencv/cmake/OpenCVDetectCXXCompiler.cmake中,将“dumpversion”改为“dumpfullversion”

10.编译ORB_SLAM2_ROS时

①提示以下错误:

/usr/bin/ld: CMakeFiles/Stereo.dir/src/ros_stereo.cc.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

解决方案:

将libboost_system.so与libboost_filesystem.so复制到ORB_SLAM2/lib下

locate  boost_system
locate boost_filesystem

并且将ORBSLAM2/Examples/ROS/ORBSLAM2下的Cmakelists.txt中加入库目录,具体为

set(LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
${PROJECT_SOURCE_DIR}/../../../lib/libboost_filesystem.so
${PROJECT_SOURCE_DIR}/../../../lib/libboost_system.so
)

②提示以下内容

[rosbuild] rospack found package "ORB_SLAM2" at "", but the current directory is "/home/angelo/ORB_SLAM2/Examples/ROS/ORB_SLAM2". You should double-check your ROS_PACKAGE_PATH to ensure that packages are found in the correct precedence order.
Call Stack (most recent call first):
/opt/ros/kinetic/share/ros/core/rosbuild/public.cmake:177 (_rosbuild_check_package_location)
CMakeLists.txt:4 (rosbuild_init)

解决办法:

这通常是因为没有设置好 ORB_SLAM2 的环境变量或者前后设置存在冲突。请打开 ~/.bash.rc 文件,检查以下设置是否正确:

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS

11.提示

error: static assertion failed: YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY

解决方法:

打开Thirdparty/g2o/g2o/solvers/linear_solver_eigen.h

typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::Index> PermutationMatrix;
改成
typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, int> PermutationMatrix;

12.编译Build时,出现以下错误

../lib/libORB_SLAM2.so:对‘ORB_SLAM2::Frame::InitializeScaleLevels()’未定义的引用      collect2: error: ld returned 1 exit status     CMakeFiles/mono_kitti.dir/build.make:125: recipe for target '../Examples/Monocular/mono_kitti' failed

解决方法:将/ORB_SLAM2/src/Frame.cc中"inlier void Frame::InitializeScaleLeve " to " void Frame::InitializeScaleLevels()"

13.编译Build时,出现以下错误

error: ‘FAST’ was not declared in this scope
FAST(cellImage,cellKeyPoints[i][j],fastTh,true);
^

解决方法:在src/ORBextractor.cc中添加

#include <opencv2/opencv.hpp>

14.遇到

Could not find a configuration file for package "OpenCV" that is compatible
with requested version "2.4.3".

解决办法:

将~/ORB_SLAM2/Examples/ROS/ORB_SLAM2中CMakeLists.txt的

find_package(OpenCV 2.3. REQUIRED)
>
find_package(OpenCV 3.2. REQUIRED)

Ubuntu配置ORB-SLAM2过程中的问题的更多相关文章

  1. Spring Cloud Config 配置中心实践过程中,你需要了解这些细节!

    本文导读: Spring Cloud Config 基本概念 Spring Cloud Config 客户端加载流程 Spring Cloud Config 基于消息总线配置 Spring Cloud ...

  2. ubuntu里面搭建虚拟环境过程中遇到的问题以及解决方法。

    今天开始学习Django,发现要搭建虚拟环境.就按照百度上面的方法在ubuntu中输入终端命名进行配置.发现自己是按照步骤来的.却总是在最后一步启动 source .bashrc 的时候出现''com ...

  3. 手工配置Service的过程中。

    正在使用srvctl创建service时间,需要注意TAF政策选择必须是dbms_service套餐配置.下面的例子演示了如何创建一个服务felix_ora: 1.查看现有的创建之前系统service ...

  4. 【Gerrit】持续集成工具Jenkins的安装配置与使用过程中遇到的问题整理

    1.下载war包 https://jenkins.io/download/ 2.安装 java -jar jenkins.war Error: Feb 21, 2019 2:17:25 AM wins ...

  5. TFS配置过程中的错误

    有些人在配置TFS的过程中会报出[以前的更新或安装需要重新启动操作系统.……]的错误,但会发现无论重启多次操作系统,再配置的时候依然会报这个错误,很是让人苦恼哦. 这个错误在安装SharePoint的 ...

  6. ORB SLAM2在Ubuntu 16.04上的运行配置

    http://www.mamicode.com/info-detail-1773781.html 安装依赖 安装OpenGL 1. 安装opengl Library$sudo apt-get inst ...

  7. Ubuntu安装Chrome过程中的细节

    Ubuntu中的默认浏览器是Firefox,但是一直以来都认为Chrome更加优秀.下面记录一下在Ubuntu下安装Chrome的过程,也回顾一下Ubuntu系统中的一些细节. 大多数Linux安装软 ...

  8. ubuntu安装过程中遇到的一些问题及解决办法。

    由于ubuntu与win10的双系统安装过程百度一下就有很多,在此不再赘述. (其实主要是忘记拍照片了,我一个菜鸡说得肯定也没有那些大佬们好,但网上确实也很多哈,加上有中文引导安装,问题不大.) 此篇 ...

  9. Ubuntu hive 安装过程中遇到的一些问题

    环境:Ubuntu14.04 Hadoop3.2.0 MySQL5.7 hive2.3.6 安装步骤:安装hive.MySQL并进行配置 安装过程参照:Ubuntu安装hive,并配置mysql作为元 ...

随机推荐

  1. 2018.7.3 lnmp一键安装包无人值守版本 php7.2 + nginx1.14.0 + mariadb5.5 + centos7.1(1503) 环境搭建 + Thinkphp5.1.7 配置

    给自己练习用的,整个过程追求一个简单粗暴,没有配置虚拟主机,现在记录一下过程. 1. 进入到lnmp解压缩后的文件夹conf/rewrite,把thinkphp.conf复制一份到/usr/local ...

  2. How To Upgrade ASMLib Kernel Driver as Part of Kernel Upgrade? (文档 ID 1391807.1)

    How To Upgrade ASMLib Kernel Driver as Part of Kernel Upgrade? (文档 ID 1391807.1)

  3. SDWebImageRefreshCached

    来源: http://blog.csdn.net/jiadabin/article/details/52129789 来源: http://blog.csdn.net/jiadabin/article ...

  4. Spark-RPC理解

    基本架构 Akka Actor式RPC架构 Spark采用的是AkkaActor架构实现RPC,但是实际使用过程为了兼容不同节点之间的文件下载,采用Netty来实现Actor功能. Spark RPC ...

  5. Virtualbox扩容C盘

    oracle vm virtualbox虚拟机里面系统盘C盘容量不够,需要扩容,步骤如下: 1.使用命令更改当前虚拟机的文件大小 VBoxManage.exe modifyhd YOUR_HARD_D ...

  6. 基础总结(04)-- display:none;&&visibility:hidden;区别

    display:none 1.使元素隐藏,不再占据空间. 2.动态操作时会引起页面回流和重绘,影响性能. 3.子元素也会被隐藏并且添加display:block/visibility:visible无 ...

  7. Target JRE version (1.7.0_79) does not match project JDK version (java version "1.8.0_171"), will use sources from JDK: 1.7

    IDEA不会自动匹配系统的JDK环境.如果在IDEA里面没有配置JDK,那么运行程序时就会报错 之前碰到这个问题卡了一下 顺手记录一下 出现此错误说明IDE中配置的jdk版本和你使用的jdk版本不一致 ...

  8. less和sass的区别

    首先sass和less都是css的预编译处理语言,他们引入了mixins,参数,嵌套规则,运算,颜色,名字空间,作用域,JavaScript赋值等 加快了css开发效率,当然这两者都可以配合gulp和 ...

  9. Python第10天

    装饰器:本质上是函数,为其他函数添加附件功能. 装饰器 = 高阶函数 + 函数嵌套 + 闭包 原则(开放封闭原则):1,不修改被修饰函数代码.2,不修改被修饰函数调用方式. @方法名

  10. python大法好——Python XML解析

    Python XML解析 什么是XML? XML 被设计用来传输和存储数据. XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识. 它也是元标记语言,即定义了用于定义其他与 ...