Interactive-slam imGui slam3dTool防坑手册

问题一、

glfw error 65544: X11: RandR gamma ramp support seems broken
error : failed to compile shader /home/ros_proj/catkin_ws/src/interactive_slam/data/shader/rainbow.vert
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

error : failed to compile shader /home/ros_proj/catkin_ws/src/interactive_slam/data/shader/rainbow.frag
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

error : failed to link program
error: linking with uncompiled/unspecialized shadererror: linking with uncompiled/unspecialized shader
# Using CHOLMOD poseDim -1 landMarkDim -1 blockordering 1
error : failed to compile shader /home/ros_proj/catkin_ws/src/interactive_slam/data/shader/rainbow.vert
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

error : failed to compile shader /home/ros_proj/catkin_ws/src/interactive_slam/data/shader/rainbow.frag
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

error : failed to link program
error: linking with uncompiled/unspecialized shadererror: linking with uncompiled/unspecialized shader

解决:上述绿色报错部分解决方案如下:

1 I fixed this , I change some code in /src/imgui_application.cpp :
2 // glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
3 // glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);
4 glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
5 glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
6 glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

经过实践,第六行注释掉也可以;修改之后,可以正常运行了,但是加载点云之后,帧率很低,集成显卡没工作。

参考:(项目issue)https://github.com/SMRT-AIST/interactive_slam/issues/15https://github.com/SMRT-AIST/interactive_slam/issues/15

Note:上面红色部分错误,依据调查,原因是glfw3.2以及老版本才有这个潜在问题,3.3以后就没了,但是你看上面代码,已经改为3.3;我查看了下设置->详细信息->图像->llvmpipe (LLVM 10.0.0, 256 bits),显然intel  11代cpu Xe显卡驱动没有正常安装,后续依据调查,intel对ubuntu驱动支持到17.04就没更新了,为此,我需要升级linux内核,或者使用ubuntu20.04以上版本,参考下图,我现在内核版本是5.2,具体怎么操作,强烈建议看看:https://zhuanlan.zhihu.com/p/133323571

参考:https://askubuntu.com/questions/1319758/ubuntu-18-04-with-intel-iris-xe

问题二、有关项目的环境额外配置

1、 建议使用clang编译器

如何在clion中设置clang编译器?

To provide CMake compiler paths, go to Settings | Build, Execution, Deployment | CMake and pass as CMake options:-D CMAKE_C_COMPILER=
-D CMAKE_CXX_COMPILER=
In case CMake fails to find some path to clang libs, etc. you can also set there environment variables:CC=/usr/bin/clang
CXX=/usr/bin/clang++

         在clion -> 设置 -> 工具链中,点击加号,新建工具链, 命名为clang,
其中c编译器:/usr/bin/clang-6.0
C++编译器:/usr/bin/clang++-6.0
  然后返回clion中设置CMake,切换到刚刚创建的工具链,即:clang

   (设置clang为默认编译器,下次打开其他项目记得切换gcc or g++为默认编译器)

2、安装gtsam

 常规编译安装就OK,的修改CMakeLists,关闭TBB功能,参考:问题12。

问题3:编译报错:fatal error: self_msgs/wheel_speed.h: 没有那个文件或目录
没有build/devel/include/self_msgs目录下面的头,缺少四个头文件,咱们直接去之前vscode目录下生成的
头文件,直接拷贝到clion工程中。

 问题4:Errors << lidar_align:make /home/vinz/catkin_ws/logs/lidar_align/build.make.001.log In file included from /usr/include/flann/util/serialization.h:9:0, from /usr/include/flann/util/matrix.h:35, from /usr/include/flann/flann.hpp:41, from /usr/include/pcl-1.8/pcl/kdtree/flann.h:50, from /usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h:45, from /home/vinz/catkin_ws/src/lidar_align/include/lidar_align/sensors.h:8, from /home/vinz/catkin_ws/src/lidar_align/include/lidar_align/loader.h:7, from /home/vinz/catkin_ws/src/lidar_align/src/loader.cpp:5: /usr/include/flann/ext/lz4.h:196:57: error: conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’ typedef struct { long long table[LZ4_STREAMSIZE_U64]; } LZ4_stream_t; ^~~~~~~~~~~~ In file included from /opt/ros/melodic/include/roslz4/lz4s.h:38:0, from /opt/ros/melodic/include/rosbag/stream.h:46, from /opt/ros/melodic/include/rosbag/chunked_file.h:46, from /opt/ros/melodic/include/rosbag/bag.h:41, from /home/vinz/catkin_ws/src/lidar_align/src/loader.cpp:2: /usr/include/lz4.h:196:57: note: previous declaration as ‘typedef struct LZ4_stream_t LZ4_stream_t’ typedef struct { long long table[LZ4_STREAMSIZE_U64]; } LZ4_stream_t; ^~~~~~~~~~~~ In file included from /usr/include/flann/util/serialization.h:9:0, from /usr/include/flann/util/matrix.h:35, from /usr/include/flann/flann.hpp:41, from /usr/include/pcl-1.8/pcl/kdtree/flann.h:50, from /usr/include/pcl-1.8/pcl/kdtree/kdtree_flann.h:45, from /home/vinz/catkin_ws/src/lidar_align/include/lidar_align/sensors.h:8, from /home/vinz/catkin_ws/src/lidar_align/include/lidar_align/loader.h:7, from /home/vinz/catkin_ws/src/lidar_align/src/loader.cpp:5: /usr/include/flann/ext/lz4.h:249:72: error: conflicting declaration ‘typedef struct LZ4_streamDecode_t LZ4_streamDecode_t’ typedef struct { unsigned long long table[LZ4_STREAMDECODESIZE_U64]; } LZ4_streamDecode_t; ^~~~~~~~~~~~~~~~~~ In file included from /opt/ros/melodic/include/roslz4/lz4s.h:38:0, from /opt/ros/melodic/include/rosbag/stream.h:46, from /opt/ros/melodic/include/rosbag/chunked_file.h:46, from /opt/ros/melodic/include/rosbag/bag.h:41, from /home/vinz/catkin_ws/src/lidar_align/src/loader.cpp:2: /usr/include/lz4.h:249:72: note: previous declaration as ‘typedef struct LZ4_streamDecode_t LZ4_streamDecode_t’ typedef struct { unsigned long long table[LZ4_STREAMDECODESIZE_U64]; } LZ4_streamDecode_t; ^~~~~~~~~~~~~~~~~~ make[2]: *** [CMakeFiles/lidar_align.dir/src/loader.cpp.o] Error 1 make[1]: *** [CMakeFiles/lidar_align.dir/all] Error 2 make: *** [all] Error 2 cd /home/vinz/catkin_ws/build/lidar_align; catkin build --get-env lidar_align | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd

这个错误,咱们还没实践过,不过也要记录下,解决方案:

System: Ubuntu 18.04
ROS: melodic
Reason: /usr/include/lz4.h conflict with /usr/include/flann/ext/lz4.hI thing this will be fixed in next release version of system or ROS.
But you could try these commands to fix this problem.sudo mv /usr/include/flann/ext/lz4.h /usr/include/flann/ext/lz4.h.bak
sudo mv /usr/include/flann/ext/lz4hc.h /usr/include/flann/ext/lz4.h.baksudo ln -s /usr/include/lz4.h /usr/include/flann/ext/lz4.h
sudo ln -s /usr/include/lz4hc.h /usr/include/flann/ext/lz4hc.h

参考:https://github.com/ethz-asl/lidar_align/issues/16

问题5:编译inGui时,/usr/bin/ld: 找不到 -lglfw3

  网上解答总结为:/usr/bin/ld: 找不到 -l****,大概思路就是先找到 ****.so,然后手动 ln 指令去链接,我这里搜索不到glfw3.so。

imgui官方解决:https://github.com/ocornut/imgui/issues/1032

我的解决:先查找已经安装的glfw3版本,如下,是:3.2.1-1

sudo apt-get install  libglfw3-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
libglfw3-dev 已经是最新版 (3.2.1-1)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 3 个软件包未被升级。

去官网:https://github.com/glfw/glfw/tree/3.2.1

点击tag选版本,下载之后:

mkdir  build
cmake ..
make
sudo make install

解决!

  

问题六:

/usr/include/flann/ext/lz4.h:196:57: error: conflicting declaration ‘typedef struct LZ4_stream_t LZ4_stream_t’
typedef struct { long long table[LZ4_STREAMSIZE_U64]; } LZ4_stream_t;

sudo mv /usr/include/flann/ext/lz4.h /usr/include/flann/ext/lz4.h.bak
sudo mv /usr/include/flann/ext/lz4hc.h /usr/include/flann/ext/lz4.h.baksudo ln -s /usr/include/lz4.h /usr/include/flann/ext/lz4.h
sudo ln -s /usr/include/lz4hc.h /usr/include/flann/ext/lz4hc.h

问题七fatal error: self_msgs/wheel_speed.h: 没有那个文件或目录#include <self_msgs/wheel_speed.h>

cmake生成的文件夹self_msgs,手动拷贝到slamtool_3d-master/include

问题八

有时候make编译出错;需要重新cmake后,然后再make,错误居然消失了。

问题九:IDE设置、编译器设置

9.0    首先在一个解锁的路径copy项目源码

9.1、所有命令都不要sudo su,记得source后启动ide

9.3、 

问题10

error: failed to open ./data/shader/rainbow.vert
error: failed to open ./data/shader/rainbow.frag
error : failed to link program

解决:clion中设置为:编辑配置 - 工作目录:/home/temp/slamtool_3d-master

 问题11

对于G2O冲突问题,卸载ROS自带版本G2O

sudo apt-get purge ros-melodic-libg2o 

问题12

/usr/local/include/gtsam/linear/VectorValues.h:200:22: error: no member named 'emplace' in 'gtsam::ConcurrentMap<unsigned long, Eigen::Matrix<double, -1, 1, 0, -1, 1> >'
return values_.emplace(j, value);

解决:注意,此时此刻,我用的是clang编译器;我们重新编译安装gtsam库,将gtsam源码目录下的CMakeLists作如下修改(关闭TBB加速,将ON改为OFF):

#option(GTSAM_WITH_TBB                    "Use Intel Threaded Building Blocks (TBB) if available" ON)
option(GTSAM_WITH_TBB                    "Use Intel Threaded Building Blocks (TBB) if available" OFF)

然后重新 cmake..,sudo make install安装库就行了。

 reference:https://zhuanlan.zhihu.com/p/85413855

问题13:运行时闪退,打印:double free or corruption (out)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146274.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

快看看你的手机有没有:谷歌Android全面封杀此类软件!

谷歌坐不住了&#xff0c;因为Android应用商店中&#xff0c;充斥着大量可窃取用户数据的应用&#xff0c;所以必然要出手整治了。 一款名叫“SonicSpy”软件是整个事情的导火索&#xff0c;而该应用是典型的窃取用户数据的应用&#xff0c;其除了可以从手机中提取个人数据外&…

cesium gltf控制

gltf格式详解 glTF格式本质上是一个JSON文件。这一文件描述了整个3D场景的内容。它包含了对场景结构进行描述的场景图。场景中的3D对象通过场景结点引用网格进行定义。材质定义了3D对象的外观,动画定义了3D对象的变换操作(比如选择、平移操作)。蒙皮定义了3D对象如何进行骨骼…

使用华为eNSP组网试验⑵-通过端口地址进行静态路由

有了网络模拟器可以对很多网络应用场景进行模拟&#xff0c;既方便学习又有利于实际的网络实施。 之前因为没有用过&#xff0c;用过了才知道eNSP的好处。但是与思科模拟器不同&#xff0c;连接是自动连接&#xff0c;不能确定端口&#xff0c;比如使用指定的光纤端口或者RJ45的…

【Redis】redis基本数据类型详解(String、List、Hash、Set、ZSet)

目录 RedisString(字符串)List(列表)Hash(字典)Set(集合)ZSet(有序集合) Redis Redis有5种基本的数据结构&#xff0c;分别为&#xff1a;string&#xff08;字符串&#xff09;、list&#xff08;列表&#xff09;、set&#xff08;集合&#xff09;、hash&#xff08;哈希&a…

Fiddler抓取手机https包的步骤

做接口测试时&#xff0c;有时我们需要使用fiddler进行抓包分析&#xff0c;那么如何抓取https包。主要分为以下七步&#xff1a; 1.设置fiddler选项&#xff1a;Tools->Options,按如下图勾选 2.下载并安装Fiddler证书生成器 下载地址&#xff1a;http://www.telerik.com/…

python使用mitmproxy和mitmdump抓包在电脑上抓包(二)

在我的上篇文章中&#xff0c;主要记录如何安装mitmproxy和抓取https流量。参考链接&#xff1a; python使用mitmproxy和mitmdump抓包在电脑上抓包-CSDN博客 本篇主要使用python配合mitmdump来抓包和处理返回包&#xff0c;更加灵活&#xff0c;这也是mitmproxy(mitmdump)的最…

熔断、限流、降级 —— SpringCloud Alibaba Sentinel

Sentinel 简介 Sentinel 是阿里中间件团队开源的&#xff0c;面向分布式服务架构的高可用流量防护组件&#xff0c;主要以流量为切入点&#xff0c;从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性 Sentinel 提供了两个服务组件…

opencv实现目标跟踪及视频转存

创建跟踪器 def createTypeTracker(trackerType): 读取视频第一帧&#xff0c;选择跟踪的目标 读第一帧。 ok, frame video.read() 选择边界框 bbox cv2.selectROI(frame, False) 初始化跟踪器 tracker_type ‘MIL’ tracker createTypeTracker(tracker_type) 用第一…

手机电脑数码小程序商城的作用是什么

手机几乎是每个成年人人手一个以上&#xff0c;市场非常大&#xff0c;加之产品更新迭代速度快&#xff0c;每年都会推出多个型号、造型等&#xff0c;因此对高收入群体或爱机人群来说&#xff0c;新手机往往一年或二年时间就会换&#xff0c;或者直接购买当备用机等。 每个城…

Acwing 143. 最大异或对

Acwing 143. 最大异或对 题目描述思路讲解代码展示 题目描述 思路讲解 这道题的启示是&#xff1a;字典树不单单可以高效存储和查找字符串集合,还可以存储二进制数字 思路:将每个数以二进制方式存入字典树,找的时候从最高位去找有无该位的异. 代码展示 #include<iostream…

华为云云耀云服务器L实例评测 | 实例场景体验之搭建个人博客:通过华为云云耀云服务器构建个人博客

华为云云耀云服务器L实例评测 &#xff5c; 实例场景体验之搭建个人博客&#xff1a;通过华为云云耀云服务器构建个人博客 介绍华为云云耀云服务器 华为云云耀云服务器 &#xff08;目前已经全新升级为 华为云云耀云服务器L实例&#xff09; 华为云云耀云服务器是什么华为云云耀…

【调度算法】进程调度算法、内存页面置换算法、LRU算法、LFU算法、磁盘调度算法等重点知识汇总

目录 进程调度算法 内存页面置换算法 LRU算法实现 LFU算法实现 磁盘调度算法 进程调度算法 当 CPU 空闲时&#xff0c;操作系统就选择内存中的某个「就绪状态」的进程&#xff0c;并给其分配 CPU。 什么时候会发生 CPU 调度呢&#xff1f;通常有以下情况&#xff1a; 当…

CSS详细基础(五)选择器的优先级

本节介绍选择器优先级&#xff0c;优先级决定了元素最终展示的样式~ 浏览器是通过判断CSS优先级&#xff0c;来决定到底哪些属性值是与元素最为相关的&#xff0c;从而作用到该元素上。CSS选择器的合理组成规则决定了优先级&#xff0c;我们也常常用选择器优先级来合理控制元素…

Leetcode---364场周赛

题目列表 2864. 最大二进制奇数 2865. 美丽塔 I 2866. 美丽塔 II 2867. 统计树中的合法路径数目 一、最大二进制奇数 这题只要你对二进制有了解(学编程的不会不了解二进制吧)&#xff0c;应该问题不大&#xff0c;这题要求最大奇数&#xff0c;1.奇数&#xff1a;只要保证…

【Java 进阶篇】MySQL 事务详解

在数据库管理中&#xff0c;事务是一组SQL语句的执行单元&#xff0c;它们被视为一个整体。事务的主要目标是保持数据库的一致性和完整性&#xff0c;即要么所有SQL语句都成功执行&#xff0c;要么所有SQL语句都不执行。在MySQL中&#xff0c;事务起到了非常重要的作用&#xf…

蜂蜜配送销售商城小程序的作用是什么

蜂蜜是农产品中重要的一个类目&#xff0c;其受众之广市场需求量大&#xff0c;但由于非人人必需品&#xff0c;因此传统线下门店经营也面临着痛点&#xff0c;线上入驻平台也有很多限制难以打造自有品牌&#xff0c;无法管理销售商品及会员、营销等&#xff0c;缺少自营渠道&a…

编写Android.mk / Android.bp 引用三方 jar 包,aar包,so 库

一.前言 在Android10之后&#xff0c;所有项目工程中&#xff0c;官方推荐使用Android.bp去编译构建&#xff0c;以前使用Android.mk构建的项目随着版本迭代升级&#xff0c;慢慢需要变更为Android.bp&#xff0c; 两者的语法都需要去了解并熟练使用。 笔者之前写过Android.mk的…

【SSL】用Certbot生成免费HTTPS证书

1. 实验背景 服务器&#xff1a;CentOS7.x 示例域名&#xff1a; www.example.com 域名对应的web站点目录&#xff1a; /usr/local/openresty/nginx/html 2. 安装docker # yum -y install yum-utils# yum-config-manager --add-repo https://download.docker.com/linux/ce…

大数据Flink(九十):Lookup Join(维表 Join)

文章目录 Lookup Join(维表 Join) Lookup Join(维表 Join) Lookup Join 定义(支持 Batch\Streaming):Lookup Join 其实就是维表 Join,比如拿离线数仓来说,常常会有用户画像,设备画像等数据,而对应到实时数仓场景中,这种实时获取外部缓存的 Join 就叫做维表 Join。…

“童”趣迎国庆 安全“童”行-柿铺梁坡社区开展迎国庆活动

“金秋十月好心境&#xff0c;举国欢腾迎国庆。”国庆节来临之际&#xff0c;为进一步加强梁坡社区未成年人爱国主义教育&#xff0c;丰富文化生活&#xff0c;营造热烈喜庆、文明和谐的节日氛围。9月24日上午&#xff0c;樊城区柿铺街道梁坡社区新时代文明实践站联合襄阳市和时…