Wie zu verwenden GLEW mit Qt?
Will ich mit GLEW mit Qt unter Windows (7, falls das von Bedeutung ist).
Was ich Tat, war zu gehen, um die GLEW-website, laden Sie das Paket für windows, dann die glew.dll im System32-Ordner. In meinem pro-Datei, die ich auf die .lib-Dateien mit LIBS += .../path_to_the_libs/glew32.lib
und das gleiche für glew32s.lib
(nicht sicher, was letzteres ist). In meinem QGLWidget Unterklasse, machte ich sicher, dass glew.h
enthalten ist, bevor <QGLWidget>
und daher vor gl.h
und glu.h
. In der main()
Funktion das erste, was ich tun ist, rufen Sie glewInit
- und call - glGetError
aber meine Anwendung beendet sich mit einem seltsamen code, wie eine sehr große negative Zahl.
Habe ich den Verdacht, dass es sehr mag, was ich Tue, falsch, (ich bin relativ neu in Qt und OpenGL und absolut neu, GLEW), aber ich habe auch den Verdacht haben, dass einer der großen Fehler ist, dass die libs, die ich vermute, wurden gebaut, mit MSVC und können daher nicht verknüpft werden, gegen die mit MinGW... Anyway, kann mir jemand bitte eine Schritt-für-Schritt-Anleitung zur Installation von GLEW mit Qt und verwenden Sie es? Ich wäre viel zu schätzen. Vielen Dank im Voraus
Edit:
Jungs, vielleicht bin ich zu viel verlangt, aber ich würde wirklich sehr gerne eine Schritt-für-Schritt-Anleitung 🙂
wenn der compiler wirklich unterscheidet, haben Sie zum kompilieren von GLEW selbst.
GLEW zusammengestellt über MSVC sollte auf MinGW.
Es sollten? Wie kommt das?
MinGW ist eine Art der Möglichkeit der Verbindung mit C libs kompiliert mit MSVC (nicht C++). Ich hatte einige Probleme mit, dass vor, aber ich kann bestätigen, dass
glew32s.lib
links und arbeitet mit nur -lglew32s
auf den linker-Befehl, keine hacks erforderlich.InformationsquelleAutor Armen Tsirunyan | 2010-11-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie nicht anrufen sollen
glewInit()
bevor Sie Ihre OpenGL-Kontext bereit. Rufen Sie einfach vor Ihrem erstengl*
fordert, nicht am Anfang dermain
. Das sollte den trick tun.Verwenden Sie außerdem keine
glew32.lib
undglew32s.lib
gleichzeitig - ersteres ist für den Einsatz zusammen mit der DLL Datei und die zweite ist statisch (Sie Ihre .exe wird größer, aber Sie nicht haben, um Ihre Anwendung verteilen .dll). Entscheiden und entweder zu benutzen.Dies hat mir sehr geholfen! Für reimplementers von QGLWidget: Der beste Platz, um den Anruf zu
glewInit()
ist an der Spitze derinitializeGL()
Funktion. Das wird führenglewInit()
immer genannt, für jedes GL-widget, das Sie erstellen, aber das scheint nicht zu stören, nichts.InformationsquelleAutor Kos
Qt 4.7 kann jede OpenGL-Kontext. Verwenden QGLFormat.setProfile() und QGLFormat.setVersion()
Der einzige Nachteil ist, dass Sie noch nicht über OpenGL 3+ Bindungen.
Schritt für Schritt-Lösung:
Wenn ich mich richtig erinnere sollte es tun! GLEW dll platziert werden soll, in das richtige system-Ordner und compiler-Optionen beigefügt, aber Sie sind die gleichen wie für GLEW ohne QT.
Nun, das ist andere Frage!
InformationsquelleAutor przemo_li