SLAM十四讲第四章 fmt问题 fmt/core.h:1711:3: error: static assertion failed: Cannot format an argument.解决方案

出现fmt问题,

不能用git下载,要去官网下载8.1.1版本的fmt,官网链接,download后重新安装一次就能完美解决。

我在安装sophus时发现没安装fmt,git clone安装fmt后运行代码就会出现这个错误:

error: static assertion failed: Cannot format an argument.
``
貌似是内存动态分配的问题,`官网下载压缩包即可解决。
### 解决 ORB_SLAM 编译时 `openmp_mutex.h` 中 `config.h` 文件缺失 当遇到编译 ORB_SLAM3 项目时报错提示找不到 `config.h` 文件,这通常是因为 OpenMP 或者其他依赖库的路径未被正确配置所致。为了确保顺利编译并运行 ORB_SLAM3,在安装过程中需要注意几个关键点。 #### 确认OpenCV版本兼容性 确认使用的 OpenCV 版本与 ORB_SLAM3 要求相匹配非常重要。最新版 ORB_SLAM3 推荐使用 opencv4.4 来避免潜在的编译错误;然而,如果无法获取此版本,则 opencv3.4.16 是一个可行的选择[^1]。对于不同版本间的切换,可以通过编辑 ORB_SLAM3 源码目录中的 CMakeLists.txt 文件来调整 Opencv 的关联版本号。 #### 安装必要的依赖项 确保已经安装了所有必需的软件包以及开发工具链,特别是那些涉及多线程处理的部分,比如 libomp-dev (用于支持 OpenMP),可通过如下命令完成: ```bash sudo apt-get update && sudo apt-get install -y \ cmake git pkg-config \ libopencv-dev \ libeigen3-dev \ libsuitesparse-dev \ libblas-dev \ liblapack-dev \ gfortran \ python-is-python3 \ python3-pip \ libomp-dev ``` #### 修改CMakeLists.txt以适应本地环境 有时可能需要手动修改项目的 CMakeLists.txt 文件以便更好地适配当前系统的设置。具体来说,可以尝试添加或更改某些选项指向正确的头文件位置或其他资源的位置。例如,针对上述提到的问题,可以在适当的地方加入类似下面这样的指令: ```cmake set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp") find_package(OpenMP REQUIRED) if(OPENMP_FOUND) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") endif() include_directories(/usr/include/your_path_to_config_h/) ``` 这里假设 `/usr/include/your_path_to_config_h/` 就是你所缺少的那个含有 `config.h` 头文件的实际路径,请替换为你自己的实际路径。 #### 构建过程自动化脚本 如果有提供构建 ROS 集成版本的相关 shell 脚本(如 build_ros.sh),可以直接利用这些脚本来简化整个流程。进入 YOLO_ORB_SLAM3 文件夹后,通过终端依次执行以下两条命令即可启动自动化的编译工作流[^2]: ```bash chmod +x build_ros.sh ./build_ros.sh ``` 以上措施应该能够帮助克服由于 `config.h` 文件丢失而导致的编译障碍。当然,具体情况可能会有所不同,因此建议仔细阅读官方文档和社区论坛上的讨论帖,寻找更贴合实际情况的帮助和支持。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值