前言

主要总结最近slam mapping编译 等cmake使用上遇到的错误和解决方案


欢迎在评论区共同提出 我及时总结到这里面去 都是些坑

0. opencv 相关

cv2.error: /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/highgui/src/window.cpp:304: error: (-215)

主要是老胡的opencv版本问题… emm 需要走3.4,但是默认是3.2,所以会冲突

完整方案:https://chowdera.com/2022/134/202205140601479701.html

https://blog.csdn.net/qinqinxiansheng/article/details/120219388

最好的方案是:https://www.icode9.com/content-3-1356655.html

随后发现可以走ExternalProject_Add 会更好,TODO添加

1. gcc相关

很多关于这个点的教程 动不动就rm -rf 其实把 有时候挺危险的,包括本人自己以前 也比较喜欢 rm -rf,但是还是慎用,有set 的方式就用set哈

版本过低 no such file

主要是编译vdbfusion example时遇到的问题

fatal error: charconv: No such file or directory  #include <charconv>fatal error: filesystem: No such file or directory #include <filesystem>

然后搜到了一位韩国老哥的正解:https://jtrimind.github.io/troubleshooting/filesystem/ 升级gcc,如下

gcc --version # 检查版本
sudo apt install gcc-8 g++-8 # 安装8.0版本# 设置系统默认值
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8# 再次检查
gcc --version

然后配置CFLAGS为17即可解决,在CMakeLists.txt中加入:

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "--std=c++17 -lstdc++fs")

fatal error: execution: No such file or directory

同上理,但是有些可能会要求g+±9以上的 所以再次添加

sudo apt install -y gcc-9 g++-9 -y
# 设置系统默认值
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 900 --slave /usr/bin/g++ g++ /usr/bin/g++-9# 再次检查
gcc --version

segmentation fault

主要是使用上一个 filesystem 出现 segmentation fault,主要是把编译能过 一运行就不行

定位到这个问题 就用了10分钟,主要是他不报错 就只是segmentation fault,和帅讨论后说是 :

库版本有冲突也会这个效果, 而且感觉一般都是库依赖的比较低层的系统库的问题

截图报错如下

最后找到了解决方案是

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_COMPILER "g++")
set(CMAKE_CXX_FLAGS "--std=c++17 -lstdc++fs")

这样是不够的 需要把flag写到link libraries 我真的涨见识了,所以我最后写成了这样

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_COMPILER "g++")
set(CMAKE_CXX_FLAGS "--std=c++17 -lstdc++fs")
add_library(datasets OBJECT)
target_sources(datasets PRIVATE KITTIOdometry.cpp)
target_compile_features(datasets PRIVATE cxx_std_17)
target_link_libraries(datasets PUBLIC Eigen3::Eigen "-lstdc++fs")

关于filesystem的一系列讨论:

  • https://bugs.launchpad.net/ubuntu/+source/gcc-8/+bug/1824721/comments/6
  • https://stackoverflow.com/questions/56615841/passing-stdfilesystempath-to-a-function-segfaults
  • https://stackoverflow.com/questions/69122701/segmentation-fault-with-stdfilesystem-path-object
  • 最后是这个链接里看到的:Why does this code results in an segmentation fault error? click
  • https://stackoverflow.com/questions/39231363/fatal-error-filesystem-no-such-file-or-directory

赠人点赞 手有余香

【问题收集】slam中常见make问题错误 相关总结相关推荐

  1. [柒穆雨]LOGO 设计中常见的设计错误与设计方式

    LOGO 设计中常见的设计错误与设计的方式,LOGO 设计一直都是设计圈中的热门话题,也是设计师的老大难问题.面对来自各方的压力,想要设计一个完美的 LOGO 并不是一件轻松的工作.这篇文章分析下LO ...

  2. 在系统二进制文件中检测到错误_门禁管理系统施工中常见的布线错误

    现在门禁系统已经深入到人们的生活中,门禁系统安装应用越来越广泛.但是门禁系统施工布线都需要注意哪些你了解吗?下面就门禁系统施工布线过程中的几大错误现象给大家提个醒. 一.用网络线布电锁锁到控制器的线! ...

  3. 盘点一个网络爬虫中常见的一个错误

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 圣朝无阙事,自觉谏书稀. 大家好, ...

  4. 开发中常见的低级错误--被自己气哭

    开发中常见的低级错误--被自己气哭 前言 踩过的坑 请求路径写错 用生产地址测试本地代码 看错项目 变量名拼错 提交了相似分支 复制粘贴的分支逻辑忘记改过来 数据库存储超限制后会被自动截断 再会 前言 ...

  5. 写作---英语中常见的写作错误有哪些

    写作---英语中常见的写作错误有哪些 一.总结 一句话总结: 1.句子成分残缺不全 2.句子成分多余(多谓语) 3.主谓不一致(单复数) 4.动词时态.语态的误用(时态) 5.词类混淆(词性) 1.出 ...

  6. SLAM机器人开发(三)SLAM中常见的里程计

    SLAM机器人开发(三)SLAM中常见的里程计 里程计分类 车轮里程计 惯性里程计 电磁波(光学)雷达 超声波雷达 视觉里程计 里程计对比图 里程计分类 里程计(Odometry)这个词是由希腊单词o ...

  7. 计算机中常见的英语错误提示,BIOS出错英文提示信息大全 -电脑资料

    BIOS出错英文提示信息大全 -电脑资料 时间:2019-01-01 [www.unjs.com - 电脑资料] 第二电脑网收集的BIOS出错英文提示信息大全,对硬件出错的判断非常有用 Drive A ...

  8. ava web 开发过程中常见的一些错误

    现在通常人们讨论和实现Java WEB应用时,往往过度关注框架和平台,对常见实现的各种模式未有深入的考虑.自从在IBM DevelopWork上见到一个名词"错误模式",就一直仔细 ...

  9. java中常见的编译错误的是_编译时JAVA最常见的错误有哪些

    如果你正学习Java语言,你在编译和执行代码的时候遇到问题,一般来说问题将分为2类:无论你遇到的是编译时错误,这说明你的程序编译失败,还是你遇到运行时错误,这是指错误发生在你成功地编译了程序但不能运行 ...

最新文章

  1. C#在WinForm中实现清空指定类型控件的内容
  2. 如何成为简历界的“老司机”?这些简历技能你get到了吗?
  3. java 转xml 变成两根下划线_XStream实现xml和java对象之间的互相转换(包括对属性,别名,下划线_的处理),同理JSON也可以...
  4. 如何配置代码自动校验功能
  5. numpy的通用函数:快速的元素级数组函数
  6. 学习索引结构的一些案例——Jeff Dean在SystemML会议上发布的论文(下)
  7. kafka消息队列的概念理解
  8. 国产化图形引擎一词引发的感想!
  9. 学生学籍管理系统简单设计(上)
  10. android开发股票数据接口,股票数据接口-股票数据接口api
  11. HorizontalScrollView实现Gallery
  12. C语言字符数组的初始化
  13. Mask Scoring Rcnn论文解读《Mask Scoring R-CNN》
  14. 意料之外,这个应用居然霸榜了苹果APP Store排行榜
  15. Git 的常规分支使用【dev和master】
  16. 作业十: 坦克对战游戏 AI 设计
  17. Android 12 变更及适配攻略
  18. nn.GLU()的实现
  19. 35.搭建NFS服务器
  20. 一文读懂知识图谱的商业应用进程及技术背景

热门文章

  1. 一个野生程序员的成长
  2. win10英语语言包
  3. 计算机期刊论文初稿怎么写,论文初稿可以只写大概内容吗 写初稿应注意些什么问题...
  4. python字符串切割以及正则表达式的简单实例操作
  5. webug 4.0 第二十二关 越权修改密码
  6. 是否能构成三角形java
  7. 【书签】web自动化测试之selenium
  8. nginx一会儿正常,一会儿404,nginx一会儿访问网页1,一会儿访问网页2
  9. MATLAB学习笔记5:绘图基础与数据可视化(中)
  10. DELL Inspiron(灵越)14-5648拆机指南