OpenGL demos in Qt 4.8 don't compile
-
You are not supposed to add any glew or glut libraries to your programs. Just include QtOpenGL in your source and it will implicitly include everything it requires. Have you tried compiling the example called grabber? please compile it without editing it and paste the compilation log here if it doesn't compile. I based my first openGL simulation on that example.
-
My friend, please compile that example and copy the log so that I can help you. I can't suggest why this happens without reading the compilation log of an example I know. If that example compiles with no problems, then it's another story.
-
This is the example I'm talking about
http://doc.qt.nokia.com/4.7-snapshot/opengl-grabber.html
Please find it in your SDK or download it to your computer. It should work properly, unless you have other problems that we could investigate later.
-
TheDestroyer , I have good and bad news for you .The good ones are that the grabber works .The bad news are that it has nothing to do with my issue.It doesn't contain gluPerpective() and it uses a fixed (old) pipeline .So it is seems unrelated.What I can see here is I can't even get any glu method in the editor IntelliSence completion . But have you tried to compile and run the Boxes demo by yourself ?
Output of the boxes compilation:
@
..\boxes\scene.cpp(925) : error C3861: 'gluPerspective': identifier not found
Generating Code...
C:\QtSDK\QtCreator\bin\jom.exe -f Makefile.Debug
jom: C:\QtSDK\Demos\4.7\boxes-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK__Debug\Makefile.Debug [debug\roundedbox.obj] Error 2jom 1.0.8 - empower your cores
jom: C:\QtSDK\Demos\4.7\boxes-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK__Debug\Makefile [debug] Error 2
13:27:19: The process "C:\QtSDK\QtCreator\bin\jom.exe" exited with code 2.
Error while building project boxes (target: Desktop)
When executing build step 'Make'
@ -
Good for you :-). Although I never needed to edit Qt sources, but if it works for you that way, have fun! ;-)
-
The demos included in SDK 1.2 seem to have a couple of issues when compiled with 4.8. In 4.8, OpenGL/glu.h is now intentionally no longer included within <QtOpenGL>, and programs that use it must include it themselves. For more info, see https://bugreports.qt-project.org/browse/QTSDK-1022
Adding #include "OpenGL/glu.h" after the other includes in qtbox.h in the boxes source tree fixes the problem without having to modify the main Qt headers.
Also, if you try to compile the demos.pro project, you will need to comment out the "#include <private/qpixmapdata_p.h>" line of the arthurwidgets.cpp file in the shared folder of the demos.