编译VINS-MONO时出现boost未定义引用及磁盘空间不足错误的原因
VINS-MONO编译错误原因分析
从你提供的编译日志来看,错误主要由两个核心问题导致:
1. Boost库链接不完整或版本冲突
日志中大量undefined reference错误指向Boost库的组件(boost::re_detail、boost::filesystem相关符号),原因包括:
- 项目CMake配置缺失Boost组件引入:CMakeLists.txt可能未添加
find_package(Boost REQUIRED COMPONENTS regex filesystem),或是没有将这些库链接到对应的可执行目标; - Boost版本不匹配:错误中的
re_detail_107300对应Boost 1.73.0版本,若系统安装的Boost版本与项目依赖版本不一致,会导致链接时找不到对应符号; - 第三方库版本冲突:你使用的
libcv_bridge.so编译时依赖的Boost版本,和当前VINS-MONO项目依赖的版本不兼容,引发符号链接失败。
2. 磁盘空间不足
日志中明确出现final link failed: No space left on device,说明编译目录所在的磁盘分区已无剩余空间,链接阶段无法生成可执行文件,直接中断了编译流程。
内容的提问来源于stack exchange,提问作者Cao Long
相关产品推荐
相关产品推荐

