Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >如何子类QGLWidget使用glew?

如何子类QGLWidget使用glew?
EN

Stack Overflow用户
提问于 2013-02-10 15:03:50
回答 2查看 3K关注 0票数 2

我很难得到一个使用glew编译的QGLWidget子类。我在Windows7上运行QT5.0.1+ MinGW 4.7。GleW1.7.0已经用said MinGW编译了。

我用UGGLWidget对QGLWidget进行了子类化,并在QGLWidget包含之前包含了"GL/glew.h"。在编译时,我会得到以下200个错误:

  • “功能”重新声明为不同类型的符号
  • 相互冲突的声明“类型胡枝子”

因此,我的问题是:如何获得使用Qt5?编译的QGLWidget的子类

编辑:我在另一个设置中尝试了同样的方法(Qt4.7 + MinGW4.4)。它编译并运行得很好。我还尝试使用glew的最新版本(Qt5.0.1 + MinGW4.7 + glew1.9.0),它也没有编译,并给出了相同的编译错误。

下面是编译器输出的混乱片段:

代码语言:javascript
代码运行次数:0
复制
> In file included from
> ..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include/QtGui/qopengl.h:55:0,
>                  from ..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtOpenGL/qgl.h:47,
>                  from ..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtOpenGL/QGLWidget:1,
>                  from src\UGGLWidget.h:4,
>                  from src\UGGLWidget.cpp:2: ..\..\..\..\..\..\Qt\Qt5.0.1\5.0.1\mingw47_32\include/GLES2/gl2.h:614:153:
> error: 'void __glewVertexAttribPointer(GLuint, GLint, GLenum,
> GLboolean, GLsizei, const GLvoid*)' redeclared as different kind of
> symbol In file included from src\UGGLWidget.cpp:1:0:
> ..\3rdPartyLibs\glew\include/GL/glew.h:13609:46: error: previous
> declaration of 'void (__attribute__((__stdcall__)) *
> __glewVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid*)'

最后但并非最不重要的是子类的头和源文件。现在它真的是空的。

来源:

代码语言:javascript
代码运行次数:0
复制
//UGGLWidget.cpp
#include "GL/glew.h"
#include "UGGLWidget.h"

UGGLWidget::UGGLWidget(QWidget *parent) : QGLWidget(parent) { ... }

标题:

代码语言:javascript
代码运行次数:0
复制
//UGGLWidget.h
#ifndef UGGLWIDGET_H
#define UGGLWIDGET_H
#include <QGLWidget>

class UGGLWidget : public QGLWidget
{
    Q_OBJECT
public:
    explicit UGGLWidget(QWidget *parent = 0);
};
#endif // UGGLWIDGET_H

哦,也许.pro文件中的相关部分

代码语言:javascript
代码运行次数:0
复制
QT       += core gui opengl
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
LIBS += -L$$quote(../3rdPartyLibs/glew/lib/) -lglew32
LIBS += -lopengl32 -lglu32
INCLUDEPATH += $$quote(../3rdPartyLibs/glew/include)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-12 16:13:46

以下是我的问题,这个问题随处可见,其中包括glew:

代码语言:javascript
代码运行次数:0
复制
#include "GL/glew.h"
#define QT_NO_OPENGL_ES_2

另一个选项:在配置步骤中使用-opengl desktop从源代码构建Qt5.0.1。

出于某种原因,QT_OPENGL_ES_2在我的Qt5.0.1安装中定义。通过查看QGLWidget.h中的内容,我在QtCore/qconfig.h中找到了以下内容

代码语言:javascript
代码运行次数:0
复制
#if defined(QT_OPENGL_ES_2) && defined(QT_NO_OPENGL_ES_2)
# undef QT_OPENGL_ES_2
#elif !defined(QT_OPENGL_ES_2)
# define QT_OPENGL_ES_2
#endif

这导致包含了glew 2/gl2.h,这与glew不太合拍。知道这个问题与GLES2有关,我遇到了一个错误报告和一个QtProject邮政。如果我正确理解,那么为Qt5.0.1提供的QtSDK安装程序已经构建,这样就启用了GLES。

祝你今天愉快,

莫里茨

票数 2
EN

Stack Overflow用户

发布于 2013-04-27 14:09:47

注意,QT4.8RC发布说明说:包含QtOpenGL不会与GLEW一起工作,因为QGLFunctions将取消GLEW的定义。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14803658

复制
相关文章
使用 AForge.NET 做视频采集
AForge.NET 是基于C#设计的,在计算机视觉和人工智能方向拥有很强大功能的框架。btw... it's an open source framework. 附上官网地址: http://www.aforgenet.com/aforge/framework/ 。 今天要介绍的是AForge中的视频采集功能,这里的视频包括从摄像头等设备的输入和从视频文件的输入。 首先来认识一下 视频源播放器:VideoSourcePlayer,从摄像头和文件输入的视频,都会通过它来播放,并按帧(Frame)来输出Bit
Shao Meng
2018/04/28
2.1K0
在 WPF 中实现融合效果
融合效果是指对两个接近的元素进行高斯模糊后再提高对比度,使它们看上去“粘”在一起。在之前的一篇文章中,我使用 Win2D 实现了融合效果,效果如下:
dino.c
2022/10/05
1.3K0
在 WPF 中实现融合效果
WindowsXamlHost:在 WPF 中使用 UWP 控件库中的控件
在 WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit) 一文中,我们说到了在 WPF 中引入简单的 UWP 控件以及相关的注意事项。不过,通常更有实际价值的是更复杂的 UWP 控件的引入,通常是一整个 Page。
walterlv
2020/02/10
5.9K0
在 WPF 中使用 x:Reference
发布于 2018-10-13 22:24 更新于 2018-12-14 01:54
walterlv
2020/02/10
1.5K0
WPF 在 DrawingContext 的 push 如何使用
如果在一个 DrawingContext 画出一个 DrawingVisual ,如何修改这个 DrawingVisual 的大小,对他进行变换?
林德熙
2022/08/04
4450
WPF 在 DrawingContext 的 push 如何使用
如果在一个 DrawingContext 画出一个 DrawingVisual ,如何修改这个 DrawingVisual 的大小,对他进行变换?
林德熙
2018/09/18
1.7K0
在.NET Core 3.0中的WPF中使用IOC图文教程
我们都知道.NET Core 3.0已经发布了第六个预览版,我们也知道.NET Core 3.0现在已经支持创建WPF项目了,刚好今天在写一个代码生成器的客户端的时候用到了WPF,所以就把WPF创建以及使用IOC的过程记录一下,希望能对大家有所帮助。当然文章实例我就以我曾阅读过的一篇文章的示例代码来进行演示了。
依乐祝
2019/07/03
8680
在.NET Core 3.0中的WPF中使用IOC图文教程
WPF 的 ElementName 在 ContextMenu 中无法绑定成功?试试使用 x:Reference!
发布于 2018-10-13 21:38 更新于 2018-10-14 04:25
walterlv
2020/02/10
3.1K0
在WPF桌面程序中使用ECharts展示图表
在WPF桌面系统需要实现仪表盘(dashboard是商业智能仪表盘(business intelligence dashboard,BI dashboard)的简称,它是一般商业智能都拥有的实现数据可视化的模块,是向企业展示度量信息和关键业务指标(KPI)现状的数据虚拟化工具。)形式的图表展示功能,研究了WPF开源的各个图件库,一般实现代码都比较复杂,灵活性不够,展示图表效果也不尽人意。后来想到ECharts,Echarts (ECharts)是百度公司出品的,算是百度不可多得的良心之作,使用方便灵活,而且
程序你好
2018/07/20
3.1K0
在 WPF 程序中应用 Windows 10 真•亚克力效果
从 Windows 10 (1803) 开始,Win32 应用也可以有 API 来实现原生的亚克力效果了。不过相比于 UWP 来说,可定制性会差很多。
walterlv
2023/10/22
5520
在 WPF 程序中应用 Windows 10 真•亚克力效果
学习WPF——了解WPF中的XAML
XAML的简单说明 XAML是用于实例化.NET对象的标记语言,主要用于构建WPF的用户界面 XAML中的每一个元素都映射为.NET类的一个实例,例如<Button>映射为WPF的Button对象 XAML可以在一个元素中嵌套另一个元素,例如Grid元素可以嵌套Button元素 了解XAML VisualStudio创建一个窗口,默认情况下产生的代码如下: 这段代码中包含两个标记元素,一个是Window,一个是Grid Window是WPF顶级元素的一种,还有另外两种顶级元素Page和App
liulun
2018/01/12
2K0
解决WPF在XP上使用微软雅黑字体
WPF项目,全局设置的微软雅黑,但是XP上没有这个字体,默认显示的是宋体。开始的思路是WPF可以将字体作为资源,在程序中使用,但是微软雅黑有两个文件,mysh, TTF和myshbd,TTF,单独加载
kiki.
2022/09/29
1K0
使用 Uno Islands 在现有 WPF 里面嵌入 Uno 框架
随着 2022 9 月份 Uno 发布了 4.5 版本,现有的 WPF 应用多了一个新的开发模式,那就是通过 Uno Islands 技术,在现有的 WPF 应用里面嵌入 Uno 应用。通过此方式可以辅助在现有的 WPF 项目里面,部分功能迁入 Uno 项目,或者是某些新开发功能通过 Uno 实现,从而利用 Uno 跨平台的能力,逐个功能点支持跨平台功能。逐个小功能接入的方式,让开发者不需要为一次性迁移一个庞大的项目而烦恼
林德熙
2023/04/07
6280
WPF Visifire使用
1.Visifire的创建需要引用的DLL包【WPFToolkit.dll;WPFVisifire.Charts;WPFVisifire.Gauges(这个以后会用到)】
全栈程序员站长
2022/09/13
4890
WPF Visifire使用
WPF使用URL协议实现网页中打开应用
网页唤起指定软件,其实就是利用URL来执行一个关键字Key,这个Key是注册表中的一个键,Value是指定路径的exe,亦可携带参数启动exe;
码客说
2022/10/28
1.1K0
WPF 使用 SharpDX
先介绍一下 SharpDx ,一个底层封装的 DirectX 库,支持 AnyCpu ,支持 Direct3D9, Direct3D11, Direct3D12,Direct2D1。支持 win32 程序和商店程序。
林德熙
2018/09/19
1.3K0
WPF 使用 SharpDX
WPF中的MatrixTransform
WPF中的MatrixTransform            周银辉 虽然在WPF中可以使用TranslateTransform、RotateTransform、ScaleTransform等进行
菩提树下的杨过
2018/01/22
1.4K0
WPF中的MatrixTransform
WPF中ListView排序
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
5160
WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)
Windows Community Toolkit 再次更新到 5.0。以前可以在 WPF 中使用有限的 UWP 控件,而现在有了 WindowsXamlHost,则可以使用更多 UWP 原生控件了。
walterlv
2020/02/10
4.7K0
修改WPF中connectionString[通俗易懂]
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说修改WPF中connectionString[通俗易懂],希望能够帮助大家进步!!!
Java架构师必看
2022/07/19
4440

相似问题

WPF使用AForge创建视频

12

在WPF应用程序上使用WebCam实现AForge.Net

48

C# WPF AForge :如何使视频平滑?

18

在AForge库中使用ImageProcessingLog

10

使用Aforge保存图像

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文