当前位置: 首页 > news >正文

《视觉SLAM十四讲》报错信息和解决方案

文章目录

      • `ch4-Sophus`编译报错
      • `ch5/imageBasics`安装opencv4.x报错
      • `ch5/joinMap/CMakeLists.txt`编译报错
      • `ch5/joinMap`-`pcl_viewer map.pcd`报错

ch4-Sophus编译报错

  • 报错信息:
error: lvalue required as left operand of assignmentunit_complex_.real() = 1.;^~
error: lvalue required as left operand of assignmentunit_complex_.imag() = 0.;^~
CMakeFiles/Sophus.dir/build.make:65: recipe for target 'CMakeFiles/Sophus.dir/sophus/so2.cpp.o' failed
  • 解决方法:修改Sophus下的so2.cpp文件
    • 将下面这个修改一下:

      unit_complex_.real() = 1.;
      unit_complex_.imag() = 0.;
      
    • 修改为:

      unit_complex_.real(1.);
      unit_complex_.imag(0.);
      

ch5/imageBasics安装opencv4.x报错

  • 环境:Unbuntu22.04,安装opencv4.x
  • 报错信息:
libgtk2.0-dev : 依赖: libgdk-pixbuf-2.0-dev (>= 2.21.0) 但无法安装它 或 libgdk-pixbuf2.0-dev (>= 2.21.0) 但无法安装它
  • 解决方案:参照https://blog.csdn.net/qq_51022848/article/details/128095476

ch5/joinMap/CMakeLists.txt编译报错

  • 报错信息:
error: #error PCL requires C++14 or above
  • 我的解决方案:注释掉关于 c++11特性的设置
# set( CMAKE_CXX_FLAGS "-std=c++11 -O3")

ch5/joinMap-pcl_viewer map.pcd报错

  • 环境:Mac中的Ubuntu22.04虚拟机

  • 报错信息:在生成map.pcd地图之后执行pcl_viewer map.pcd报错:

    $ ch5/joinMap$ pcl_viewer map.pcd 
    2023-07-31 21:33:35.519 (   0.006s) [        C7314880] vtkContextDevice2D.cxx:32    WARN| Error: no override found for 'vtkContextDevice2D'.
    The viewer window provides interactive commands; for help, press 'h' or 'H' from within the window.
    > Loading map.pcd 2023-07-31 21:33:35.647 (   0.134s) [        C7314880]vtkOpenGLRenderWindow.c:499    ERR| vtkXOpenGLRenderWindow (0x563c2ae6cf10): Unable to find a valid OpenGL 3.2 or later implementation. Please update your video card driver to the latest version. If you are using Mesa please make sure you have version 11.2 or later and make sure your driver in Mesa supports OpenGL 3.2 such as llvmpipe or openswr. If you are on windows and using Microsoft remote desktop note that it only supports OpenGL 3.2 with nvidia quadro cards. You can use other remoting software such as nomachine to avoid this issue.
    2023-07-31 21:33:35.647 (   0.134s) [        C7314880]     vtkOpenGLState.cxx:1795  WARN| Hardware does not support the number of textures defined.
    2023-07-31 21:33:35.647 (   0.134s) [        C7314880]     vtkOpenGLState.cxx:1795  WARN| Hardware does not support the number of textures defined.
    2023-07-31 21:33:35.648 (   0.134s) [        C7314880]     vtkOpenGLState.cxx:1795  WARN| Hardware does not support the number of textures defined.
    2023-07-31 21:33:35.648 (   0.135s) [        C7314880]     vtkOpenGLState.cxx:1795  WARN| Hardware does not support the number of textures defined.
    2023-07-31 21:33:35.648 (   0.135s) [        C7314880]     vtkOpenGLState.cxx:1795  WARN| Hardware does not support the number of textures defined.
    2023-07-31 21:33:35.648 (   0.135s) [        C7314880]     vtkOpenGLState.cxx:1795  WARN| Hardware does not support the number of textures defined.
    2023-07-31 21:33:35.648 (   0.135s) [        C7314880]     vtkOpenGLState.cxx:1795  WARN| Hardware does not support the number of textures defined.
    [PCLVisualizer::setUseVbos] Has no effect when OpenGL version is ≥ 2
    2023-07-31 21:33:35.655 (   0.141s) [        C7314880]   vtkTextureObject.cxx:1463   ERR| vtkTextureObject (0x563c2b3b8c90): Failed to determine texture parameters. IF=0 F=6408 T=5121
    2023-07-31 21:33:35.655 (   0.141s) [        C7314880]     vtkOpenGLState.cxx:1795  WARN| Hardware does not support the number of textures defined.
    2023-07-31 21:33:35.655 (   0.142s) [        C7314880]     vtkOpenGLState.cxx:1795  WARN| Hardware does not support the number of textures defined.
    2023-07-31 21:33:35.665 (   0.152s) [        C7314880]   vtkShaderProgram.cxx:437    ERR| vtkShaderProgram (0x563c2b250fb0): 1: #version 150
    2: #ifndef GL_ES
    3: #define highp
    4: #define mediump
    5: #define lowp
    6: #endif // GL_ES
    7: #define attribute in
    8: #define varying out
    9: 
    10: 
    11: /*=========================================================================
    12: 
    13:   Program:   Visualization Toolkit
    14:   Module:    vtkPolyData2DVS.glsl
    15: 
    16:   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
    17:   All rights reserved.
    18:   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
    19: 
    20:      This software is distributed WITHOUT ANY WARRANTY; without even
    21:      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    22:      PURPOSE.  See the above copyright notice for more information.
    23: 
    24: =========================================================================*/
    25: 
    26: // all variables that represent positions or directions have a suffix
    27: // indicating the coordinate system they are in. The possible values are
    28: // MC - Model Coordinates
    29: // WC - WC world coordinates
    30: // VC - View Coordinates
    31: // DC - Display Coordinates
    32: 
    33: in vec4 vertexWC;
    34: 
    35: // material property values
    36: //VTK::Color::Dec
    37: 
    38: // Texture coordinates
    39: in vec2 tcoordMC; out vec2 tcoordVCVSOutput;
    40: 
    41: // Apple Bug
    42: //VTK::PrimID::Dec
    43: 
    44: uniform mat4 WCVCMatrix;  // World to view matrix
    45: 
    46: void main()
    47: {
    48:   // Apple Bug
    49:   //VTK::PrimID::Impl
    50: 
    51:   gl_Position = WCVCMatrix*vertexWC;
    52:   tcoordVCVSOutput = tcoordMC;
    53:   //VTK::Color::Impl
    54: }2023-07-31 21:33:35.665 (   0.152s) [        C7314880]   vtkShaderProgram.cxx:438    ERR| vtkShaderProgram (0x563c2b250fb0): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES2023-07-31 21:33:35.665 (   0.152s) [        C7314880]   vtkShaderProgram.cxx:437    ERR| vtkShaderProgram (0x563c2b246170): 1: #version 150
    2: #ifndef GL_ES
    3: #define highp
    4: #define mediump
    5: #define lowp
    6: #endif // GL_ES
    7: #define attribute in
    8: #define varying out
    9: 
    10: in vec4 ndCoordIn;
    11: in vec2 texCoordIn;
    12: out vec2 texCoord;
    13: void main()
    14: {
    15:   gl_Position = ndCoordIn;
    16:   texCoord = texCoordIn;
    17: }2023-07-31 21:33:35.665 (   0.152s) [        C7314880]   vtkShaderProgram.cxx:438    ERR| vtkShaderProgram (0x563c2b246170): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES2023-07-31 21:33:35.665 (   0.152s) [        C7314880]vtkOpenGLVertexArrayObj:265    ERR| vtkOpenGLVertexArrayObject (0x563c2b7bf8b0): attempt to add attribute without a program for attribute ndCoordIn
    2023-07-31 21:33:35.665 (   0.152s) [        C7314880]vtkOpenGLQuadHelper.cxx:62    WARN| Error binding ndCoords to VAO.
    2023-07-31 21:33:35.665 (   0.152s) [        C7314880]vtkOpenGLRenderWindow.c:932    ERR| vtkXOpenGLRenderWindow (0x563c2ae6cf10): Couldn't build the shader program for depth blits
    段错误 (核心已转储)
    
  • 核心报错信息:vtkShaderProgram (0x563c2b246170): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES

  • 可能的解决方案:在Ubuntu虚拟机中运行OpenGL程序时,可能会遇到一些限制,因为虚拟机可能无法直接访问主机系统的显卡硬件。这可能导致OpenGL实现不支持较高版本的GLSL。要解决这个问题,您可以尝试以下方法:

    • 启用3D加速:确保您的虚拟机软件(如VirtualBox、VMware等)已启用3D加速。这通常可以在虚拟机设置的显示或图形部分找到。启用3D加速后,虚拟机将尝试使用主机系统的显卡来提供更好的OpenGL支持。
    • 安装虚拟机工具:确保您已安装了虚拟机软件提供的增强工具(如VirtualBox Guest Additions、VMware Tools等)。这些工具通常包含了针对虚拟机优化的图形驱动程序,可以提高OpenGL性能和兼容性。

    • 使用软件渲染(我是通过这个解决的):如果您无法启用3D加速或安装虚拟机工具,您可以尝试使用软件渲染。这将使用CPU而不是GPU来渲染OpenGL图形,性能可能较差,但可以提供更广泛的GLSL支持。在Ubuntu中,您可以安装Mesa的软件渲染器,例如llvmpipe。要安装llvmpipe,请运行以下命令:

      sudo apt-get install libgl1-mesa-swx11
      
    • 安装完成后,您可以通过设置LIBGL_ALWAYS_SOFTWARE=1环境变量来强制使用软件渲染:

      export LIBGL_ALWAYS_SOFTWARE=1 
      

相关文章:

《视觉SLAM十四讲》报错信息和解决方案

文章目录 ch4-Sophus编译报错ch5/imageBasics安装opencv4.x报错ch5/joinMap/CMakeLists.txt编译报错ch5/joinMap-pcl_viewer map.pcd报错 ch4-Sophus编译报错 报错信息: error: lvalue required as left operand of assignmentunit_complex_.real() 1.;^~ error:…...

golang 设置http请求代理

tinypoxy 搭建http代理服务可参考:tinyproxy搭建http代理_wangxiaoangg的博客-CSDN博客 需求背景: 项目需要访问一国外服务接口,地址被墙。购买香港ecs服务器,并在上面搭建http代理服务。 一 使用http和https代理 func main() {pr…...

我的会议(会议通知)

前言: 我们在实现了发布会议功能,我的会议功能的基础上,继续来实现会议通知的功能。 4.1实现的特色功能: 当有会议要参加时,通过查询会议通知可以知道会议的内容,以及当前会议状态(未读) 4.2思路…...

css实现水平居中

代码示例 <div class"box"><div class"box1"></div> </div>1.弹性布局&#xff1a;&#xff08;推荐&#xff09; display:flex&#xff1b; 这些要添加在父级的&#xff0c;是父级的属性 //父级添加display:flex; //父级添加jus…...

c刷题(一)

目录 1.输出100以内3的倍数 2.将3个数从大到小输出 3.打印100~200素数 方法一 方法二 4.显示printf的返回值 最大公约数 试除法 辗转相除法 九九乘法表 求十个数的最大值 1.输出100以内3的倍数 法一&#xff1a; int n 0; while (n*3 < 100){printf("%d &q…...

webpack

文章目录 webpack概念打包的场景为什么要打包在打包之外 - 翻译在打包之外 - 小动作 课程重点模块化利用立即执行函数来改变 作用域模块化的优点模块化方案的进化史AMD&#xff08;成型比较早&#xff0c;应用不是很广泛&#xff09;COMMONJSES6 MODULE webpack 的打包机制webp…...

反复 Failed to connect to github.com port 443 after xxx ms

前提&#xff1a;使用了代理&#xff0c;浏览器能稳定访问github&#xff0c;但git clone一直超时 解决方案&#xff1a; 1. git config --global http.proxy http://127.0.0.1:1080 2. 代理设置端口1080 3. 1080可自定义 感谢来自这篇博客和评论区的提醒&#xff1a;解决…...

ARM裸机-11

1、安装交叉编译工具工具 1.1、windows中装软件的特点 windows中装软件使用安装包&#xff0c;安装包解压后有两种情况:一种是一个安装文件 (.exe/.msi)&#xff0c;双击进行安装&#xff0c;下一步直到安装完毕。安装完毕后会在桌面上生成快捷方式&#xff0c;我们平时使用快…...

centos7升级glibc

作者&#xff1a;吴业亮 博客&#xff1a;wuyeliang.blog.csdn.net 安装bison&#xff1a; yum install bison -y安装wget、bzip2、gcc、gcc-c和glibc-headers&#xff1a; yum -y install wget bzip2 gcc gcc-c glibc-headers安装make-4.2.1&#xff1a; wget http://ftp.…...

【OnnxRuntime】在linux下编译并安装C++版本的onnx-runtime

目录 安装C接口的onnx-runtime安装依赖项&#xff1a;下载源文件构建ONNX Runtime安装ONNX Runtime 安装C接口的onnx-runtime 安装依赖项&#xff1a; 安装CMake&#xff1a;可以通过包管理器&#xff08;如apt、yum等&#xff09;安装CMake。 安装C编译器&#xff1a;确保系…...

C#基于OpenCv(OpenCvSharp) 的 fftshift, ifftshift 函数的实现

本文实现基于OpenCv(OpenCvSharp) 的 fftshift, ifftshift 函数。 fftshift 函数将信号频谱的零频分量移动到数组中心, 本质是分别对调一三象限数据。 ifftshift完成相反的操作,本质是二四象限的数据块。 OpenCV中没有这两个函数如果使用需要自己实现。 实现代码如下: …...

【SpringBoot】笔记2

文章目录 45、web实验-抽取公共页面46、web实验-遍历数据与页面bug修改47、视图解析-【源码分析】-视图解析器与视图[暂时没看]48、拦截器-登录检查与静态资源放行49、拦截器-【源码分析】-拦截器的执行时机和原理50、文件上传-单文件与多文件上传的使用51、文件上传-【源码流程…...

Spring事务传播机制详细讲解

文章目录 一、事务传播机制1. REQUIRED&#xff1a;2. SUPPORTS&#xff1a;3. MANDATORY&#xff1a;4. REQUIRES_NEW&#xff1a;5. NOT_SUPPORTED&#xff1a;6. NEVER&#xff1a;7. NESTED&#xff1a; 二、事务传播机制分类1. 支持当前事务的传播机制&#xff1a;REQUIRE…...

kubernetes 集群搭建(kubeadm 方式)

目前生产部署 Kubernetes 集群主要有两种方式&#xff1a; &#xff08;1&#xff09; kubeadm Kubeadm 是一个 Kubernetes 官方提供的命令行工具&#xff0c;可以用来部署和管理 Kubernetes 集群。它主要用于在新的 Kubernetes 环境中初始化集群、添加或删除节点等操作。 K…...

基于ARM+FPGA的驱控一体机器人控制器设计

目前市场上工业机器人&#xff0c;数控机床等多轴运动控制系统普遍采用运动控制器加 伺服驱动器的分布式控制方式。在这种控制方式中&#xff0c;控制器一方面完成人机交互&#xff0c;另 一方面进行 NC 代码的解释执行&#xff0c;插补运算&#xff0c;继而将计算出来的位…...

docker 安装 字体文件

先说一下我当前的 场景 及 环境&#xff0c;这样同学们可以先评估本篇文章是否有帮助。 环境&#xff1a; dockerphp8.1-fpmwindows 场景&#xff1a; 来了个需求&#xff0c;有一个默认背景图&#xff0c;可以理解为背景图是一个 "相框"&#xff0c;相框里面就会放…...

Vue.js与ASP.NET的结合,实现企业级应用的开发和部署

在当今快速发展的互联网技术领域&#xff0c;企业级应用的开发和部署变得越来越重要。Vue.js和ASP.NET是两个在前端和后端开发中广泛使用的技术&#xff0c;将它们结合起来可以为企业级应用的开发和部署带来诸多优势。本文将通过代码示例介绍如何使用Vue.js和ASP.NET进行企业级…...

Uncaught SyntaxError: ‘‘ string literal contains an unescaped line break

今天在修改前端页面的时候&#xff0c;页面报错了&#xff0c;提示了这个信息 Uncaught SyntaxError: string literal contains an unescaped line break 问题指向这行代码&#xff0c;这就是通过JS渲染一个easyui的搜索框&#xff0c;仔细确认之后&#xff0c;发现没有任何问…...

Vue3+Vite+TypeScript常用项目模块详解

目录 1.Vue3ViteTypeScript 概述 1.1 vue3 1.1.1 Vue3 概述 1.1.2 vue3的现状与发展趋势 1.2 Vite 1.2.1 现实问题 1.2 搭建vite项目 1.3 TypeScript 1.3.1 TypeScript 定义 1.3.2 TypeScript 基本数据类型 1.3.3 TypeScript语法简单介绍 2. 项目配置简单概述 2.…...

数字电路(一)

1、例题 1、进行DA数模转换器选型时&#xff0c;一般要选择主要参数有&#xff08; A&#xff09;、转换精度和转换速度。 A、分辨率 B、输出电流 C、输出电阻 D、模拟开关 2、下图所示电路的逻辑功能为&#xff08; B&#xff09; A、与门 B、或门 C、与非门 D、或非门 分析该…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...