ORB-SLAM3在Ubuntu 20.04编译卡住?别急着换系统,先检查你的OpenCV pkg-config
当你满怀期待地在Ubuntu 20.04上编译ORB-SLAM3,准备体验这个强大的视觉SLAM系统时,突然遭遇编译卡住或报错"Package opencv was not found",这确实令人沮丧。许多开发者第一反应是考虑降级到Ubuntu 18.04,但这可能并非必要。本文将带你深入分析问题根源,并提供一套完整的解决方案,让你无需更换系统就能顺利编译ORB-SLAM3。
1. 问题诊断:为什么OpenCV配置会失败
在Ubuntu 20.04上,OpenCV 4.x默认不会生成 opencv.pc 文件,这是导致编译失败的关键原因。 pkg-config 是一个用于帮助编译时查找库文件的工具,它通过 .pc 文件获取库的安装路径、编译选项等信息。
当ORB-SLAM3的CMake脚本尝试通过 pkg-config 查找OpenCV时,由于找不到 opencv.pc 文件,就会抛出"Package opencv was not found"错误。这通常表现为以下几种情况:
- 编译过程在链接阶段卡住
- 出现大量"undefined reference"错误
- 特定源文件编译失败(如Tracking.cc、Frame.cc等)
常见误区 :
- 盲目降级Ubuntu版本(如换到18.04)
- 重新安装OpenCV但未解决根本问题
- 修改ORB-SLAM3源码而非修正系统配置
2. 手动创建opencv.pc文件的完整指南
解决这个问题的核心是为OpenCV创建正确的 opencv.pc 文件。以下是详细步骤

481

被折叠的 条评论
为什么被折叠?



