[视觉SLAM14讲踩坑日记ch4] ubuntu20.04由于Sophus库依赖与fmt库,所以安装Sophus之前要先安装fmt

【背景】使用ubuntu20.04运行《视觉SLAM14讲》ch4中trajectoryError.cpp示例程序报错

安装Sophus库报错需要fmt

[视觉SLAM14讲踩坑日记ch4] ubuntu20.04由于Sophus库依赖与fmt库,所以安装Sophus之前要先安装fmt_第1张图片

提示缺少fmt

【解决办法】:

  1. 安装fmt依赖库

git clone https://github.com/fmtlib/fmt.git
cd fmt
mkdir build
cd build
cmake ..
make
sudo make install

安装完之后就可以顺利安装sophus了。

2.在cmakelists.txt添加语句

ubuntu 20.04

运行example时

添加前5行

cmake_minimum_required(VERSION 3.0)
# 为使用 sophus,需要使用find_package命令找到它
find_package(Sophus REQUIRED)
# Eigen
include_directories("/usr/include/eigen3")

option改为 on

option(USE_UBUNTU_20 "Set to ON if you are using Ubuntu 20.04" ON)
[视觉SLAM14讲踩坑日记ch4] ubuntu20.04由于Sophus库依赖与fmt库,所以安装Sophus之前要先安装fmt_第2张图片

以及最后一行链接上Sophus库

target_link_libraries(trajectoryError Sophus::Sophus)

!!!注意是example当中的cmakelist.txt

mkdir build
cd build
cmake ..
make
ls

生成这些文件: CMakeCache.txt CMakeFiles cmake_install.cmake Makefile trajectoryError

./trajectoryError   执行

生成结果: RMSE = 2.20728

[视觉SLAM14讲踩坑日记ch4] ubuntu20.04由于Sophus库依赖与fmt库,所以安装Sophus之前要先安装fmt_第3张图片

完成!!!

你可能感兴趣的:(c++,ubuntu)