当前位置: 首页 > article >正文

【无标题】Ubuntu22.04编译视觉十四讲slambook2 ch4时fmt库的报错

Ubuntu22.04编译视觉十四讲slambook2 ch4时fmt库的报错

cmake ..顺利,make后出现如下报错:

in function `std::make_unsigned<int>::type fmt::v8::detail::to_unsigned<int>(int)':
trajectoryError.cpp:(.text._ZN3fmt2v86detail11to_unsignedIiEENSt13make_unsignedIT_E4typeES4_[_ZN3fmt2v86detail11to_unsignedIiEENSt13make_unsignedIT_E4typeES4_]+0x23): undefined reference to `fmt::v8::detail::assert_fail(char const*, int, char const*)'

重点:undefined reference to ‘fmt::v8::XXX)’

这个错误是链接阶段的错误,表明在链接时找不到 fmt::v8::detail::assert_fail 这个符号,通常与 fmt 库的使用或链接设置有关。

检查CMakeLists.txt
外面那个CMakeLists.txt没有,example文件夹下面的CMakeLists.txt有 fmt

option(USE_UBUNTU_20 "Set to ON if you are using Ubuntu 20.04" OFF)
find_package(Pangolin REQUIRED)
if(USE_UBUNTU_20)
    message("You are using Ubuntu 20.04, fmt::fmt will be linked")
    find_package(fmt REQUIRED)
    set(FMT_LIBRARIES fmt::fmt)
endif()
include_directories(${Pangolin_INCLUDE_DIRS})
add_executable(trajectoryError trajectoryError.cpp)
target_link_libraries(trajectoryError ${Pangolin_LIBRARIES} ${FMT_LIBRARIES})

这里是使用ubuntu20.04才会进入if里面执行:
查找 fmt 库(fmt 是一个现代的格式化库,用于 C++ 格式化输出。)
设置 FMT_LIBRARIES 变量为 fmt::fmt,它指的是 fmt 库的 CMake 目标名称

把内容修改成下面这样:

# option(USE_UBUNTU_20 "Set to ON if you are using Ubuntu 20.04" OFF)
find_package(Pangolin REQUIRED)
# if(USE_UBUNTU_20)
#     message("You are using Ubuntu 20.04, fmt::fmt will be linked")
#     find_package(fmt REQUIRED)
#     set(FMT_LIBRARIES fmt::fmt)
# endif()
find_package(fmt REQUIRED)
set(FMT_LIBRARIES fmt::fmt)
include_directories(${Pangolin_INCLUDE_DIRS})
add_executable(trajectoryError trajectoryError.cpp)
target_link_libraries(trajectoryError ${Pangolin_LIBRARIES} ${FMT_LIBRARIES})

http://www.kler.cn/a/569234.html

相关文章:

  • Apollo canbus 学习笔记
  • 【Jenkins】个人向-Jenkinsfile如何写
  • git 中 commit 的修改
  • Ubuntu 防火墙iptables和 ufw
  • C# 13与.NET 9革新及工业开发应用
  • 经验分享:用一张表解决并发冲突!数据库事务锁的核心实现逻辑
  • 2024年第十五届蓝桥杯大赛软件赛省赛Python大学A组真题解析《更新中》
  • 大白话面试遇难题,应对策略是什么?
  • LeetCode:132. 分割回文串 II(DP Java)
  • OpenCV计算摄影学(7)HDR成像之多帧图像对齐的类cv::AlignMTB
  • 选开源CMS建站系统时,插件越多越好吗?
  • Apache部署Vue操作手册(SSL部分)
  • 【Linux文件IO】系统IO详情
  • torch.einsum 的 10 个常见用法详解以及多头注意力实现
  • Android SystemUI深度定制实战:下拉状态栏集成响铃功能开关全解析
  • 图像分类项目1:基于卷积神经网络的动物图像分类
  • 【AI实践】xiaozhi-esp32虾哥开源版-分析
  • PyTorch 中的 nn.ModuleList 是什么?与普通列表有啥区别?
  • C#调用CANoeCLRAdapter.dll文章(一)
  • Go语言学习笔记(六)——标准库