Closed wolfseifert closed 10 months ago
This issue is related to QTBUG-110052.
You need Qt installed with sources. Then QtJambi build system takes the missing headers from there.
They should be copied to 6.6.1/build/generator/missing-headers
.
Which branch did you use? v6.6.1 or master?
master from 19.12.2023. Should I upgrade?
I have Qt installed with sources.
But my qtjambi/6.6.1/build/generator/missing-headers/QtOpenGL contains only qopenglfunctions_es2.h (like on linux).
I can confirm this behavior. Classes for QOpenGLFunctions_X_Y
are not generated. This also applies to Qt 6.5.
What makes the QOpenGLFunctions_X_Y header files in qt/6.6.1/msvc2019_64/include/QtOpenGL special is this line:
#if !defined(QT_NO_OPENGL) && !QT_CONFIG(opengles2)
The others do not have this second part in bold.
So I removed it from one of the header files and - voilá - it was generated!
Now we just need a way to make QT_CONFIG(opengles2) false, maybe by -DQT_FEATURE_opengles2=-1 at the right place.
QtJambi Generator resolves all QT_CONFIG(feature) macros to true to make sure the Java API contains all possible methods independent from Qt's build configuration.
For opengles2 there was a workaround to accept QOpenGLFunctions_X_Y
classes. I don't know why this approach does no longer work. Nevertheless, I replaced the solution by another one.
Try to build with latest commit from master branch.
You committed generator log files into the repository!
Please undo this first, then I will pull and test.
Oh my goodness. I wasn't aware.
I've undone this. Please try to build Qt.
% ant generate works and all classes are generated. After doing a (successful) full build I will close this issue.
The build on windows was successful and a meld-directory-diff of qtjambi/6.6.1/build/generator with its linux counterpart showed no significant difference. Therefore I am closing this issue.
Describe the bug When building QtJambi from scratch on windows using MSVC the resulting qtjambi-opengl-6.6.1.jar has missing opengl classes
QOpenGLFunctions_1_0
toQOpenGLFunctions_4_5
, onlyQOpenGLFunctions_ES2
exists. They are not even generated by the generator.To Reproduce
Have a look at qtjambi/6.6.1/build/generator/cpp/QtJambiOpenGL and qtjambi/6.6.1/build/generator/java/qtjambi.opengl/io/qt/opengl and you see, that only QOpenGLFunctions_ES2 is there.
Expected behavior qtjambi-opengl-6.6.1.jar should be the same, whether produced on linux, windows or macos.
System (please complete the following information):