Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    How to use glew with Qt 4.8?

    Installation and Deployment
    5
    5
    14391
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Gonsor last edited by

      Hi,

      I am trying to use glew and Qt together, which worked fine with Qt 4.7. In 4.8 however it does not seem to be possible anymore. Including glew before QtOpenGL yields:

      @/usr/include/QtOpenGL/qglfunctions.h:46:2: warning: #warning qglfunctions.h is not compatible with GLEW, GLEW defines will be undefined [-Wcpp]
      /usr/include/QtOpenGL/qglfunctions.h:47:2: warning: #warning To use GLEW with Qt, do not include <QtOpenGL> or <QGLFunctions> after glew.h [-Wcpp]
      @
      and it later does not find functions like 'glUseProgram'. If I turn the includes around, the result is:
      @/usr/include/GL/glew.h:84:2: error: #error gl.h included before glew.h
      /usr/include/GL/glew.h:87:2: error: #error glext.h included before glew.h
      @

      I cannot find much information about how it would still be possible to use them together. I have a rather large codebase of platform independent c++ opengl code and I always used Qt for window/context creation etc on desktops. The dependency on glew is not necessary, if I could still call all gl* functions normally c style. The documentation of QGLFunctions indicates how to achieve this for the paintGL method only, which is obviously not enough.

      Is there still a way to use glew and Qt 4.8 together? Or to drop glew as explained above?

      Regards
      Daniel

      1 Reply Last reply Reply Quote 0
      • S
        stante last edited by

        QGLFunctions has only support for OpenGL/ES 2.0 API functionality. For using functionality of the latest OpenGL API you should not include QtOpenGL because it include qglfunctions.h and yields to the error you described. If you want to use your custom OpenGL widget based on QGLWidget you can just include the glew header before QGLWidget.

        1 Reply Last reply Reply Quote 0
        • L
          limdor last edited by

          I confirm what stante says. I use glew and Qt 4.8 and I just do:
          @#include "glew.h"
          #include <QGLWidget>@

          without QGLFuntions include.

          1 Reply Last reply Reply Quote 0
          • K
            KeithS last edited by

            Same here:
            @
            #include <GL/glew.h>
            #include <QGLWidget>
            #include <QGLFramebufferObject>
            #include <QGLPixelBuffer>
            #include <QGLBuffer>
            @
            works just fine in Qt 4.x

            [Edit: Added @ tags around code; mlong]

            1 Reply Last reply Reply Quote 0
            • M
              mfeemster last edited by

              This has ceased working in Qt 5. QGLWidget automatically includes QGLFunctions, which blows away glew. This ought to be fixed.

              github.com/mfeemster/fractorium/wiki

              1 Reply Last reply Reply Quote 0
              • First post
                Last post