《视觉十四讲》例程运行记录(3)——运行ch6的例程中Ceres和g2o库的安装

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、安装Ceres

1. 安装依赖

终端输入:

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

如果出现sudo apt-get使用时报错:

在这里插入图片描述

具体的解决可以参考:
在ubuntu中运行sudo apt-get出现报错:无法获得锁 /var/lib/dpkg/lock-open(11:资 源暂时不可用) ,是否有其他进程正占用它?

2. 编译安装

(1) 下载Ceres-solver
终端输入:

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

(2) 安装编译
1)在Ceres-solver下打开终端,创建build文件夹

mkdir build
cd build

2)编译

cmake ..
make -j4

3)安装到本机

sudo make install

二、安装g2o

1. 安装依赖项

终端输入:

git clone https://github.com/RainerKuemmerle/g2o   # 克隆最新版本g2o

2. 编译安装

(1) 下载个g2o
终端输入:

git clone https://github.com/RainerKuemmerle/g2o   # 克隆最新版本g2o

(2) 安装编译
1)g2o目录下打开终端,创建build文件夹

mkdir build
cd build

2)编译

cmake ..
make -j4

3)安装到本机

sudo make install

3. 可能出现的报错

(1) 报错一

可能出现cmake版本太老的报错,如下所示:

CMake Error at cMakeLists.txt:1(cmake minimum required): CMake 3.14 or
higher is required. You are running version 3.10.2 Configuring
incomplete, errors occurred!

在这里插入图片描述

原因:
camke的版本太老

解决:
安装新版本cmake(camke-3.23.2)

1)在主目录的终端输入如下:
更新g++:

sudo spt-get install g++

去官网下载新的版本:

下载的地址:https://cmake.org/download/

卸载老版本:

sudo apt-get remove cmake

解压刚下载的camke:

tar -zxvf cmake-3.23.2.tar.gz

在该文件下打开终端

cd camke-3.23.2.tar.gz

然后进行检查

./bootstrap

若出现如下的报错:

CMake Error at Utilities/cncurl/CMakeLists.txt:586(message): Could not
find openSSL.Install an 0penssl development package or configure CMake
with -DCAKE USE OPENSSL=0FF to build without openSSL.

报错的截图如下:

在这里插入图片描述

解决:
1 这个时候需要安装openssl:

sudo apt-get install libssl-dev

2 然后再进行检查一遍:

./bootstrap

3 没问题后,终端输入,编译构造:

make

4 安装cmake:

sudo make install

5 检查:
查看cmake版本:

cmake --version

查看cmake位置:

which cmake

最后,在g2o/build目录下打开终端输入:

cmake ..
make -j6      // 注意,这里尽量使用更多的j,否则g2o安装很慢(-j4  -j6等等)
sudo make instal
  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
STM32F407IGT6是一款基于ARM Cortex-M4内核的32位微控制器,它具有丰富的外设和强大的性能。标准程是用于该微控制器的软件开发工具包(STM32 Standard Peripheral Library)中的一系列示程序,用于演示和介绍不同外设的使用方法和功能。 标准程提供了多种使用STM32F407IGT6外设的示,涵盖了 GPIO、串口通信、定时器、中断等常见的应用场景。这些程被编写成代码形式,以便开发者可以直接使用和参考。通过运行这些程,开发者可以更好地理解和学习如何配置和控制外设,从而快速进行嵌入式软件开发。 比如,GPIO程演示了如何配置和控制微控制器的通用输入输出端口,包括读取和设置电平状态、使用中断等;串口通信程展示了如何初始化和使用UART外设进行数据传输;定时器程展示了如何使用定时器生成精确的延时和脉冲信号;中断程介绍了如何配置和使用外部中断,实现外部事件的响应等。 标准程为开发者提供了一种学习和开发STM32F407IGT6的途径,帮助他们快速入门和运用该微控制器的外设。通过参考程,开发者可以更好地理解外设的寄存器和控制方式,从而能够更好地进行自己的应用开发。同时,开发者可以根据实际需求对程进行修改和扩展,以满足自己的具体需求。 总之,STM32F407IGT6标准程是一套提供给开发者的示程序集合,用以展示和学习该微控制器的外设功能和使用方法。通过参考和运行这些程,开发者能够更好地理解和掌握STM32F407IGT6的开发技术,从而进行自己的嵌入式软件开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啥也不会的研究僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值