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

Ubuntu18.04中QT安装下载安装pcl和vtk以及使用过程中踩过的坑

一、先记录一下下载过程中踩过的坑

问题1:QVTKOpenGLNativeWidget和QVTKWidget

之前从来没有接触过QT中显示3D点云方面的知识,了解到可以用pcl,然后在网上各种找pcl下载的相关内容,想要在QT中显示出来,需要用到VTK,又开始找VTK的下载的相关内容。

网上大多数推荐的pcl1.9+vtk7.1,用QVTKWidget这个控件来显示,然后找了篇文章跟着流程进行下载。

但是!!!后来知道,不只要显示点云,还要显示模型。查找资料之后发现QVTKWidget这个控件不能显示模型,需要用QVTKOpenGLNativeWidget,刺激的来了,vtk8.2版本之后才有这个控件。(之后会介绍QVTKOpenGLNativeWidget和QVTKWidget的区别)

所以我现在要卸载vtk7.1,下载vtk8.2或以上版本。

问题2:关于sudo apt-get install libvtk7.1-qt libvtk7.1 libvtk7-qt-dev

之前找的下载pcl1.9+vtk7.1的帖子中,安装依赖都会安装sudo apt-get install libvtk7.1-qt libvtk7.1 libvtk7-qt-dev,我以为这个依赖是必不可少的,但是卸载之后,尝试将7.1改成8.2,结果是找不到的。

我以为这个是必不可少的,然后又下回来了,用这个依赖,然后下载的8.2版本,但是用之前的例子直接崩溃了,然后把这个依赖卸载之后就跑起来了。

所以是8.2版本不需要这个依赖了吗????

问题3:报错 error: qvtkopenglnativewidget.h: 没有那个文件或目录

将vtk8.2版本中的控件还是为QVTKWidget,需要将QopenGLWidget手动提升为QVTKOpenGLNativeWidget控件。(如何提升也会在后面介绍)

提升为QVTKOpenGLNativeWidget控件之后,编辑是会报错的,找不到qvtkopenglnativewidget.h文件。

这是因为这个文件的名称是大写的QVTKOpenGLNativeWidget.h。

问题4:报错opengl版本太低

最一开始运行是会报一下错误

ERROR: In /home/li/VTK-8.2.0/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx, line 754
vtkGenericOpenGLRenderWindow (0x558f595d1520): 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.

 QOpenGLWidget允许在平台支持时使用不同的OpenGL版本和配置文件。

需要在main.cpp中的QApplication之前调用QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());

http://www.lryc.cn/news/191464.html

相关文章:

  • C++学习——对象数组、成员对象与封闭类
  • 解锁机器学习-梯度下降:从技术到实战的全面指南
  • day62:ARMday9,I2c总线通信
  • 【Python学习笔记】类型/运算/变量/注释
  • 国内常用源开发环境换源(flutter换源,python换源,Linux换源,npm换源)
  • 关于一篇什么是JWT的原理与实际应用
  • 【Method】把 arXiv论文 转换为 HTML5 网页
  • 每日一题AC
  • 后端:推荐 2 个 .NET 操作的 Redis 客户端类库
  • 华泰证券:京东营收增长或短期承压
  • Java从resources文件下载文档,文档没有后缀名
  • 【动手学深度学习-Pytorch版】BERT预测系列——BERTModel
  • Python之元组、字典和集合练习
  • 【数据结构】归并排序和计数排序(排序的总结)
  • 某医疗机构:建立S-SDLC安全开发流程,保障医疗前沿科技应用高质量发展
  • 验证二叉搜索树的后序遍历序列
  • 第三章 内存管理 一、内存的基础知识
  • 【Java学习之道】Java常用集合框架
  • logicFlow 流程图编辑工具使用及开源地址
  • ATF(TF-A)/OPTEE之动态代码分析汇总
  • 10-11 周三 shell xargs tr curl 做大事情
  • 1.1 向量与线性组合
  • django: You may need to add ‘localhost‘ to ALLOWED_HOSTS
  • 网络安全(黑客技术)—自学手册
  • 【Vue】之Vuex的入门使用,取值,修改值,同异步请求处理---保姆级别教学
  • ubuntu20.04 nerf Instant-ngp (下) 复现,自建数据集,导出mesh
  • 【常见错误】SVN提交项目时,出现了这样的提示:“XXX“ is scheduled for addition, but is missing。
  • 深度学习基础知识 给模型的不同层 设置不同学习率
  • 【Python 零基础入门】 Numpy
  • 1600*C. Circle of Monsters(贪心)