gpt4 book ai didi

c++ - 来自 Qt 文件的编译时错误 : expected unqualified-id before ')' token

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:19 30 4
gpt4 key购买 nike

将我的项目从 Qt4 移植到 Qt5.1,我从 Qt 文件中得到这个错误:

C:\Qt\Qt5.1.1\5.1.1\mingw48_32\include\QtGui\qopenglversionfunctions.h:785: error: expected unqualified-id before ')' token
void (QOPENGLF_APIENTRYP MemoryBarrier)(GLbitfield barriers);
^

这是定义链:

#define QOPENGLF_APIENTRYP QOPENGLF_APIENTRY *
#define QOPENGLF_APIENTRY APIENTRY
#define APIENTRY WINAPI
#define WINAPI __stdcall

我注意到“MemoryBarrier”标记存在于 libQt5OpenGLExtensionsd.a 库中。我是否应该包括它,即使在原始 Qt4 项目中没有使用任何与 OpenGL 相关的东西?

平台:
Windows 7
MinGW 4.8
Qt 4.8 --> Qt 5.1

最佳答案

除了 bug in MinGW 4.8.1 with uint64_t in io.h ,QT 5.2.1 中还有这个。我今天在尝试使用 MinGW 4.8.1 编译 QT 5.2.1 时遇到了这个问题,所以我想我也会发布我的解决方案。

我不知道 QT 的官方修复是什么,但为了我的需要,我这样做了:

在 src/gui/opengl/qopengl.h 第 49 行:

// Windows always needs this to ensure that APIENTRY gets defined
#if defined(Q_OS_WIN)
# include <QtCore/qt_windows.h>
#endif

我刚刚在那里取消了 windows MemoryBarrier 宏的定义:

// Windows always needs this to ensure that APIENTRY gets defined
#if defined(Q_OS_WIN)
# include <QtCore/qt_windows.h>
# undef MemoryBarrier
#endif

关于c++ - 来自 Qt 文件的编译时错误 : expected unqualified-id before ')' token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18739688/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com