背景:在进行slam开发时,需要的一些包

一.ceres安装

1. 下载Ceres
方法一:直接下载
下载链接:https://github.com/ceres-solver/ceres-solver
这里我下载的是2.0.0版本,下载后解压在主目录。
方法二:使用 git 命令下载

git clone https://ceres-solver.googlesource.com/ceres-solver

2. 安装相关依赖

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev

可能会出现无法定位libcxsoarse3.1.2的问题:

解决方法:

第一步,打开sources.list
第二步,将下面的源粘贴到最上方sources.list
第三步,更新源
第四步,重新输入依赖项安装命令安装依赖项

sudo gedit /etc/apt/sources.list
deb http://cz.archive.ubuntu.com/ubuntu trusty main universe
sudo apt-get update
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev

3. 编译

进入到下载好的文件中,创建build文件夹,进行CMake的编译

cd ceres-solver-2.0.0
mkdir build
cd build
cmake ..
make

4. 安装

sudo make install

一般编译出可执行程序用make就行了,而sudo make install这句话的意思,把可执行文件放到固定路径中去,变成环境变量。以后写代码只要包含了环境变量就可以使用这些二进制文件。

二.g2o安装

1.SLAM算法中常用的g2o库,我们源码编译安装g2o,首先下载:

git clone https://github.com/RainerKuemmerle/g2o.git

2.安装依赖项:

sudo apt-get install libeigen3-dev
sudo apt-get install libsuitesparse-dev
sudo apt-get install qtdeclarative5-dev
sudo apt-get install qt5-qmake
sudo apt-get install libqglviewer-dev

3.编译:

cd g2o
mkdir build
cd build
sudo ldconfig
cmake ..
make

注意,一定要在编译前进入build,进行sudo ldconfig。

ldconfig是一个动态链接库管理命令

安装完成某个工程后生成许多动态库,为了让这些动态链接库为系统所共享,还需运行动态链接库的管理命令–ldconfig。(直接sudo ldconfig即可)。

4. 安装:

sudo make install

三.cmake 升级

在装g2o的时候,对cmake的版本有要求,所以需要升级,如图。(但是注意:千万不要先卸载cmake,在重新装,直接升级就好了,否则装的ROS就会被卸载掉)

安装步骤:

1. 查看当前cmake版本:

cmake -version

2. 卸载当前cmake:(如果安装了ROS跳过此步

sudo apt remove cmake

3. 下载cmake:

 可直接从cmake官网下载新版本,也可执行如下语句:

wget http://www.cmake.org/files/v3.16/cmake-3.16.6.tar.gz

我这里下载的是cmake-3.16.6版本。

或是去文件库下载:Index of /files/v3.16

备注:官网给出两种版本,一种是Source版(推荐使用)的,另一种是Binary distributions里面的Linux x86_64,这是已经编译好的可执行版,直接拿来用的,只需要建立软连接即可,通过建立软链接调用Cmake-gui来使用cmake。

我这里下载的是以.tar.gz结尾的,source版的。

4. 解压与安装:

tar xf cmake-3.16.6.tar.gz #解压,也可以右键直接提取出来
cd cmake-3.16.6
sudo apt-get install build-essential 

去文件夹看,如果有锁说明有权限设置,返回cmake-3.16.6的上层目录,修改文件权限(没有锁就不用执行这句)

sudo chmod -R 777 cmake-3.16.6
./bootstrap

此步若有报错,看下面的遇到错误的解决办法

make
make install

验证:

cmake --version

遇到错误的解决办法:

错误1:运行./bootstrap时出现报错:

-- Looking for gethostname
-- Looking for gethostname - found
-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR)
CMake Error at Utilities/cmcurl/CMakeLists.txt:454 (message):Could not find OpenSSL.  Install an OpenSSL development package orconfigure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL.-- Configuring incomplete, errors occurred!
See also "/home/whlg/cmake-3.16.6/CMakeFiles/CMakeOutput.log".
See also "/home/whlg/cmake-3.16.6/CMakeFiles/CMakeError.log".
---------------------------------------------
Error when bootstrapping CMake:
Problem while running initial CMake
---------------------------------------------

提示找不到OpenSSL,查看错误日志,缺少软件包。

解决方案:

sudo apt-get install libssl-dev

再运行

./bootstrap

错误2:make install时出现报错:

[100%] Built target foo
Install the project...
-- Install configuration: ""
CMake Error at Source/kwsys/cmake_install.cmake:41 (file):file cannot create directory: /usr/local/doc/cmake-3.16/cmsys.  Maybe needadministrative privileges.
Call Stack (most recent call first):cmake_install.cmake:42 (include)Makefile:76: recipe for target 'install' failed
make: *** [install] Error 1

解决方案:

sudo make install

错误3:执行cmake --version时提示没有那个文件或目录:

bash: /usr/bin/cmake: 没有那个文件或目录

解决方案:

使用which cmake查找cmake的安装路径,默认是在/usr/local/bin/cmake,而系统会默认去/usr/bin中去寻找。

做一个链接即可:

ln -s /usr/local/bin/cmake /usr/bin 

提示没有权限的话加上sudo。

参考文章:

1.(81条消息) Ubuntu18.04安装Ceres_杰尼君的博客-CSDN博客_ubuntu18安装ceres

2.(81条消息) ubuntu18.04安装g2o_弓满路长的博客-CSDN博客_ubuntu18.04安装g2o

3.cmake安装高版本 - 寄生的鱼 - 博客园 (cnblogs.com)

ubuntu18.04 安装ceres,g2o,以及cmake升级相关推荐

  1. Ubuntu18.04安装Ceres库和G20库

    Ceres库安装 一.安装依赖 zhangman@zhangman-G3-3579:~$ sudo apt-get install liblapack-dev libsuitesparse-dev l ...

  2. Ubuntu18.04安装g2o,及问题解决_HyperZhu的博客-CSDN博客_ubuntu18.04安装g2o

    Ubuntu18.04安装g2o,及问题解决_HyperZhu的博客-CSDN博客_ubuntu18.04安装g2o sudo apt-get install cmake libeigen3-dev ...

  3. Ubuntu18.04 安装升级pip至20.2.2 坎坷过程

    Ubuntu18.04 安装升级pip至20.2.2 1. 以前的尝试 2. 解决 2.1 卸载电脑上的pip 2.2 具体步骤 2.2.1 修改ubuntu系统源 2.2.2 修改python的pi ...

  4. Ubuntu18.04安装Carla 记录

    官方文档:CARLA Simulator 方式一:简单快速安装,该方式有缺陷.需要使用虚幻引擎编辑器的高级定制和开发选项不可用. Advanced customization and developm ...

  5. Ubuntu18.04 安装ROS Melodic(官方版) 之不使用科学方法

    此前记录了官方安装流程,参见Ubuntu18.04 安装ROS Melodic(官方版),但是受限于无法访问raw.githubusercontent.com,需科学方法才能成功安装,带来诸多不便,网 ...

  6. Ubuntu18.04安装Dlib-19.19.0成功

    VMware内Ubuntu18.04安装Dlib-19.19.0成功 本人第一篇博客,如果哪里写的不好还请多多包涵. 说明一下,我是通过pip去安装的所有库,除了Cmake.因为Dlib需要C++环境 ...

  7. Ubuntu18.04安装OpenPCDet及配置spconv

    spconv的安装简直要命,废了三天才安装好,多亏了网上一些教程.下面是我综合几个点击量高的博文,成功安装的过程记录. 目录 安装 1 clone 项目 2 创建并配置虚拟环境 3 安装spconv ...

  8. Ubuntu18.04安装OpenCV4.3.0和环境配置(支持编译CUDA并安装配置python-opencv)

    Ubuntu18.04安装OpenCV4.3.0和环境配置 下载源文件 安装依赖 编译安装 环境配置 动态库配置 配置OpenCV的`PKG-CONFIG`环境 Python-OpenCV环境[如果安 ...

  9. Ubuntu18.04安装python3.7.7和tensorflow-gpu 2.2.0

    Ubuntu18.04安装python3.7.7和tensorflow-gpu 2.2.0 前言 安装python3.7.7与环境变量设置 使用pip3安装tensorflow-gpu 2.2.0 测 ...

最新文章

  1. keras inceptionv1 到 inceptionv4演化
  2. 多客服功能终于也向所有微信认证的订阅号开放了
  3. SAP Spartacus读取User Address的action是如何被Effect接收的
  4. java oca_OCA第6部分中的Java难题
  5. lombok依赖_使用Lombok 前你需要知道这些
  6. openssh升级后无法登陆解决方案
  7. 2014广东高考分数线
  8. Java语言实现查找两个字符串的最大公共字串
  9. 前端性能优化 —— 起步篇(一)
  10. Android中微信抢红包插件原理解析和开发实现
  11. matlab pdetool解热传导方程,传热学与应用(李晓炜)基于pdetool的热传导数值计算.pdf...
  12. 二叉树的非递归遍历实现
  13. 母婴商品销量分析(附Python源码及Tableau文件)
  14. 简洁的桌面整理工具(Coodesker)
  15. 快乐美工:一键解决模糊图片高清精准优化
  16. Frontiers in Nutrition专刊征稿(IF 6.59, 王进/刘连亮/Zhongbin Deng
  17. 无线WIFI系统如何解决短信认证功能?
  18. tableau高级绘图(六)--tableau绘制范围点图
  19. 通用权限管理设计篇(一)
  20. oracle分析函数-开窗函数

热门文章

  1. StreamReader.ReadToEnd()
  2. android圆形的按钮样式,android – 如何绘制一个完美的圆形按钮?
  3. 关于navicat在wins10家庭版系统下定时计划不执行的坑
  4. 2018年最流行的十大编程语言,其中包括你用的语言吗?
  5. 快速上手正则表达式RegularExpression(正则表达式常用笔记整理)
  6. 考虑转行3D游戏建模你是因为热爱还是因为薪资?自学能成才吗?
  7. QLExpress初探
  8. mysql 可重复读。
  9. 【Android】部分机型如oppo、华为等等缓存图片在本地相册失败记录和解决方案
  10. 2021-2027全球与中国织物密度测试仪市场现状及未来发展趋势