Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.5.0 Beta1
-
None
Description
Since Qt 6.5 beta1 the availability of OpenGL function headers differs between Desktop OSs and Android. I am missing QOpenGLFunctions_ES2 on Windows and on the other hand QOpenGLFunctions##(_Core/_Compatibility) on Android.
I understand why they are unavailable on either platform, however, we have preprocessor flags for this. There is no need to remove headers from the API.
The difference stood out while I am preparing QtJambi to work with Qt6.5.
QtJambi generates the Java API based upon C++ headers. The generated code is also platform independent, i.e. it generates classes for QOpenGLFunctions_ES2 as well as __ QOpenGLFunctions_1_0 independent of its actual availability on Windows, Android etc. The actual availability of the classes functionality is decided at runtime (based upon preprocessor conditions).
Now, since QOpenGLFunctions_ES2 is not available on Windows it is missing in QtJambi Java API and because it expects QOpenGLFunctions## QtJambi native code is not compilable for Android.
I think, QtJambi is not the only multi-platform program code with an #include <QtOpenGL/QOpenGLFunctions###{_}> leading to an issue here.
Please let Qt API be as platform independent as possible and, thus, reinclude all OpenGL function headers on all platforms.