《视觉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.弹性布局:(推荐) display:flex; 这些要添加在父级的,是父级的属性 //父级添加display:flex; //父级添加jus…...
c刷题(一)
目录 1.输出100以内3的倍数 2.将3个数从大到小输出 3.打印100~200素数 方法一 方法二 4.显示printf的返回值 最大公约数 试除法 辗转相除法 九九乘法表 求十个数的最大值 1.输出100以内3的倍数 法一: int n 0; while (n*3 < 100){printf("%d &q…...
webpack
文章目录 webpack概念打包的场景为什么要打包在打包之外 - 翻译在打包之外 - 小动作 课程重点模块化利用立即执行函数来改变 作用域模块化的优点模块化方案的进化史AMD(成型比较早,应用不是很广泛)COMMONJSES6 MODULE webpack 的打包机制webp…...
反复 Failed to connect to github.com port 443 after xxx ms
前提:使用了代理,浏览器能稳定访问github,但git clone一直超时 解决方案: 1. git config --global http.proxy http://127.0.0.1:1080 2. 代理设置端口1080 3. 1080可自定义 感谢来自这篇博客和评论区的提醒:解决…...
ARM裸机-11
1、安装交叉编译工具工具 1.1、windows中装软件的特点 windows中装软件使用安装包,安装包解压后有两种情况:一种是一个安装文件 (.exe/.msi),双击进行安装,下一步直到安装完毕。安装完毕后会在桌面上生成快捷方式,我们平时使用快…...
centos7升级glibc
作者:吴业亮 博客:wuyeliang.blog.csdn.net 安装bison: yum install bison -y安装wget、bzip2、gcc、gcc-c和glibc-headers: yum -y install wget bzip2 gcc gcc-c glibc-headers安装make-4.2.1: wget http://ftp.…...
【OnnxRuntime】在linux下编译并安装C++版本的onnx-runtime
目录 安装C接口的onnx-runtime安装依赖项:下载源文件构建ONNX Runtime安装ONNX Runtime 安装C接口的onnx-runtime 安装依赖项: 安装CMake:可以通过包管理器(如apt、yum等)安装CMake。 安装C编译器:确保系…...
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:2. SUPPORTS:3. MANDATORY:4. REQUIRES_NEW:5. NOT_SUPPORTED:6. NEVER:7. NESTED: 二、事务传播机制分类1. 支持当前事务的传播机制:REQUIRE…...
kubernetes 集群搭建(kubeadm 方式)
目前生产部署 Kubernetes 集群主要有两种方式: (1) kubeadm Kubeadm 是一个 Kubernetes 官方提供的命令行工具,可以用来部署和管理 Kubernetes 集群。它主要用于在新的 Kubernetes 环境中初始化集群、添加或删除节点等操作。 K…...
基于ARM+FPGA的驱控一体机器人控制器设计
目前市场上工业机器人,数控机床等多轴运动控制系统普遍采用运动控制器加 伺服驱动器的分布式控制方式。在这种控制方式中,控制器一方面完成人机交互,另 一方面进行 NC 代码的解释执行,插补运算,继而将计算出来的位…...
docker 安装 字体文件
先说一下我当前的 场景 及 环境,这样同学们可以先评估本篇文章是否有帮助。 环境: dockerphp8.1-fpmwindows 场景: 来了个需求,有一个默认背景图,可以理解为背景图是一个 "相框",相框里面就会放…...
Vue.js与ASP.NET的结合,实现企业级应用的开发和部署
在当今快速发展的互联网技术领域,企业级应用的开发和部署变得越来越重要。Vue.js和ASP.NET是两个在前端和后端开发中广泛使用的技术,将它们结合起来可以为企业级应用的开发和部署带来诸多优势。本文将通过代码示例介绍如何使用Vue.js和ASP.NET进行企业级…...
Uncaught SyntaxError: ‘‘ string literal contains an unescaped line break
今天在修改前端页面的时候,页面报错了,提示了这个信息 Uncaught SyntaxError: string literal contains an unescaped line break 问题指向这行代码,这就是通过JS渲染一个easyui的搜索框,仔细确认之后,发现没有任何问…...
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数模转换器选型时,一般要选择主要参数有( A)、转换精度和转换速度。 A、分辨率 B、输出电流 C、输出电阻 D、模拟开关 2、下图所示电路的逻辑功能为( B) A、与门 B、或门 C、与非门 D、或非门 分析该…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
