【发布时间】:2012-12-30 01:24:20
【问题描述】:
这是我的上下文:我在 Windows 上使用 OpenGL 编译图形引擎,所以我包含了 glext.h。惊喜,它与 Qt5 中的 gl2.h 冲突..
我发现如果定义了 QT_OPENGL_ES_2,则包含 gl2.h(来自 gles2)。 然后我发现 QT_OPENGL_ES_2 是默认定义的,我无法定义 QT_NO_OPENGL_ES_2 ...或者我不明白以下代码应该如何工作(顺便说一句,我的 qconfig.h 中的每个块 - 来自 Qt5 msvc10 离线的那个安装程序 - 看起来像那样):
#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
也许是因为我睡得不多,但看起来很奇怪。 但是在没有定义 QT_OPENGL_ES_2 并且定义了 QT_NO_OPENGL_ES_2 的情况下, 我很确定(我的 4 个非睡眠神经元)它进入第二个分支并定义 QT_OPENGL_ES_2 ...
如果我是他们,我会写的:
#if defined(QT_OPENGL_ES_2) && defined(QT_NO_OPENGL_ES_2)
# undef QT_OPENGL_ES_2
#elif !defined(QT_OPENGL_ES_2) && !defined(QT_NO_OPENGL_ES_2)
# define QT_OPENGL_ES_2
#endif
感谢您的宝贵时间:)
【问题讨论】:
标签: qt5