Qt5 qconfig.h很奇怪

时间:2012-12-23 05:01:52

标签: qt5

这是我的上下文:我正在使用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

感谢您的时间:)

1 个答案:

答案 0 :(得分:1)

是的,这就是错误,我已经挣扎了几天,直到它出来。我纠正了它,现在它运行良好,没有冲突。

https://bugreports.qt-project.org/browse/QTBUG-28821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel