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

前言

主要总结最近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的一系列讨论:


赠人点赞 手有余香 😆;正向回馈 才能更好开放记录 hhh

激光SLAM常见问题主要涉及以下几个方面: 1. 传感器选择和配置:激光SLAM通常使用激光雷达作为主要传感器,但也可以结合视觉传感器。在选择和配置传感器时,需要考虑精度、成本、体积和实时性等因素。 2. 建图和定位精度:激光SLAM的目标是同时建立地图并定位自身,建图和定位的精度是衡量算法性能的重要指标。常见问题包括建图误差、定位漂移和跟踪失败等。 3. 场景适应性:不同的场景对激光SLAM算法的适应性有不同的要求。例如,室内环境和室外环境的光照条件、地面纹理、动态物体等因素都会对算法的性能产生影响。 4. 算法优化和实时性:激光SLAM算法需要在限定的计算资源和时间内实现建图和定位,并保证实时性。算法的优化和并行计算等技巧可以提高算法的效率和准确性。 5. 开源代码和学习资源:SLAM领域有许多优秀的开源代码和学习资源可供参考和学习,包括ALOAM、ORB-SLAM、LIO-SAM等。这些代码可以帮助理解和实践激光SLAM算法。 综上所述,激光SLAM常见问题涉及传感器选择和配置、建图和定位精度、场景适应性、算法优化和实时性以及开源代码和学习资源等方面。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [一起做激光SLAM[四]常见SLAM技巧使用效果对比,后端](https://blog.csdn.net/unlimitedai/article/details/108064632)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SLAM常见问题汇总](https://blog.csdn.net/zhang__shuang_/article/details/103169627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kin-Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值