Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. Qt GLFW and GLEW setup

Qt GLFW and GLEW setup

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
30 Posts 3 Posters 10.0k Views 1 Watching
  • 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #4

    Qt does not provide a custom implementation of OpenGL.

    Please take a look at the Qt Gui module and what it offers for OpenGL handling.

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    B 1 Reply Last reply
    1
    • SGaistS SGaist

      Qt does not provide a custom implementation of OpenGL.

      Please take a look at the Qt Gui module and what it offers for OpenGL handling.

      B Offline
      B Offline
      bence
      wrote on last edited by
      #5

      @SGaist

      But I can add libary to Qt, and GLFW is a libary

      I created a project, right click on it, add libaries, internal libary, include the path to C:\glfw, and it does not allow me to push to the next button

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #6

        Sure you can, but you might be adding unnecessary dependencies.

        Is the library compiled ?
        Does the architecture match the one you use for Qt ?
        Which compiler was used ?

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • B Offline
          B Offline
          bence
          wrote on last edited by
          #7

          I do not comailed the libary.
          mingw73_64

          The other thing that I have tried is that
          .pro

          TEMPLATE = app
          CONFIG += console c++11
          CONFIG -= app_bundle
          CONFIG -= qt
          
          INCLUDEPATH += "C:\glfw\include\GLFW"
          
          SOURCES += \
                  main.cpp
          
          #include <iostream>
          #include <glfw3.h>
          
          using namespace std;
          
          int main() {
          
              cout << "Hello World!" << endl;
              glfwInit();
              return 0;
          }
          

          C:\files\C++\file\main.cpp:9: error: undefined reference to `glfwInit'

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #8

            You are not linking the library.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            B 2 Replies Last reply
            1
            • SGaistS SGaist

              You are not linking the library.

              B Offline
              B Offline
              bence
              wrote on last edited by
              #9

              @SGaist

              Maybe I am lame but I can't find a .lib file in GLFW folder file

              In the GLEW folder C:\glew\lib\Release\x64 there is two .lib file but in the GLFW folder I cannot find any

              1 Reply Last reply
              0
              • SGaistS SGaist

                You are not linking the library.

                B Offline
                B Offline
                bence
                wrote on last edited by
                #10

                @SGaist

                link there is a pre compailed binary for visual studio

                .pro file

                TEMPLATE = app
                CONFIG += console c++11
                CONFIG -= app_bundle
                CONFIG -= qt
                
                INCLUDEPATH += "C:\glfw\include\GLFW"
                
                LIBS += -L"C:\glfw\lib-vc2019" -glfw3
                
                SOURCES += \
                        main.cpp
                

                main.cpp file

                #include <iostream>
                #include <glfw3.h>
                
                using namespace std;
                
                int main() {
                    cout << "Hello World!" << endl;
                    glfwInit();
                    return 0;
                }
                

                error: unrecognized debug output level 'lfw3'

                JonBJ 1 Reply Last reply
                0
                • B bence

                  @SGaist

                  link there is a pre compailed binary for visual studio

                  .pro file

                  TEMPLATE = app
                  CONFIG += console c++11
                  CONFIG -= app_bundle
                  CONFIG -= qt
                  
                  INCLUDEPATH += "C:\glfw\include\GLFW"
                  
                  LIBS += -L"C:\glfw\lib-vc2019" -glfw3
                  
                  SOURCES += \
                          main.cpp
                  

                  main.cpp file

                  #include <iostream>
                  #include <glfw3.h>
                  
                  using namespace std;
                  
                  int main() {
                      cout << "Hello World!" << endl;
                      glfwInit();
                      return 0;
                  }
                  

                  error: unrecognized debug output level 'lfw3'

                  JonBJ Offline
                  JonBJ Offline
                  JonB
                  wrote on last edited by JonB
                  #11

                  @bence said in Qt GLFW and GLEW setup:

                  LIBS += -L"C:\glfw\lib-vc2019" -glfw3

                  error: unrecognized debug output level 'lfw3'

                  Where do yo u get the -glfw3 from? For gcc, for example, the -g is a compiler debugging flag, which would give your error.

                  B 1 Reply Last reply
                  0
                  • JonBJ JonB

                    @bence said in Qt GLFW and GLEW setup:

                    LIBS += -L"C:\glfw\lib-vc2019" -glfw3

                    error: unrecognized debug output level 'lfw3'

                    Where do yo u get the -glfw3 from? For gcc, for example, the -g is a compiler debugging flag, which would give your error.

                    B Offline
                    B Offline
                    bence
                    wrote on last edited by bence
                    #12

                    @JonB now I know that waht was the problem I have to use

                    LIBS += -L"C:\glfw\lib-vc2019" -lglfw3
                    

                    But this time I get 120 issues

                    1.PNG

                    2.PNG

                    I assume that I cannot use GLFW Visual Studio precompile libary. But I cannot know what should I do.

                    JonBJ 1 Reply Last reply
                    0
                    • B bence

                      @JonB now I know that waht was the problem I have to use

                      LIBS += -L"C:\glfw\lib-vc2019" -lglfw3
                      

                      But this time I get 120 issues

                      1.PNG

                      2.PNG

                      I assume that I cannot use GLFW Visual Studio precompile libary. But I cannot know what should I do.

                      JonBJ Offline
                      JonBJ Offline
                      JonB
                      wrote on last edited by
                      #13

                      @bence
                      If you only have libraries for VS/MSVC I believe you have to use that tool chain.

                      B 1 Reply Last reply
                      0
                      • JonBJ JonB

                        @bence
                        If you only have libraries for VS/MSVC I believe you have to use that tool chain.

                        B Offline
                        B Offline
                        bence
                        wrote on last edited by bence
                        #14

                        @JonB

                        I do not install VS to my PC.

                        I am sure that there is other way to do that.

                        I believe Qt is a excellent platform so there have to be a way to use original OpenGL

                        If you have any idea who could I use the original OpenGL in Qt I would really appriciate it.

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #15

                          Your issue is not related to Qt. You are trying to mix and match C++ libraries built with two different compilers. You can't use C++ libraries built with Visual Studio when using MinGW and it's the same the other way around.

                          As I already explained Qt does not implement a custom version of OpenGL. You already have access the functions. You are currently making your life more complicated than need be.

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          B 1 Reply Last reply
                          1
                          • SGaistS SGaist

                            Your issue is not related to Qt. You are trying to mix and match C++ libraries built with two different compilers. You can't use C++ libraries built with Visual Studio when using MinGW and it's the same the other way around.

                            As I already explained Qt does not implement a custom version of OpenGL. You already have access the functions. You are currently making your life more complicated than need be.

                            B Offline
                            B Offline
                            bence
                            wrote on last edited by bence
                            #16

                            @SGaist

                            Simpley I do not want to install Visual Studio to use the original OpenGL that why I asked who could I do that.

                            This youtube is out of date he istall the OpenGL but the current version is not the same
                            Because he can install it there have to be a way that I can use it.

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #17

                              The page you linked provides libraries for a lot of compilers including MinGW 32 and 64 bit.

                              If you can't use any of them, the compile the library yourself.

                              Interested in AI ? www.idiap.ch
                              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                              B 1 Reply Last reply
                              1
                              • SGaistS SGaist

                                The page you linked provides libraries for a lot of compilers including MinGW 32 and 64 bit.

                                If you can't use any of them, the compile the library yourself.

                                B Offline
                                B Offline
                                bence
                                wrote on last edited by
                                #18

                                @SGaist
                                I right click on the project and add the whole GLFW folder.

                                .pro file

                                TEMPLATE = app
                                CONFIG += console c++11
                                CONFIG -= app_bundle
                                CONFIG -= qt
                                
                                INCLUDEPATH += "C:\glfw\include"
                                INCLUDEPATH += "C:\glfw\deps"
                                
                                
                                SOURCES += \
                                        glfw/deps/getopt.c \
                                        glfw/deps/glad_gl.c \
                                        glfw/deps/glad_vulkan.c \
                                        glfw/deps/tinycthread.c \
                                        glfw/examples/boing.c \
                                        glfw/examples/gears.c \
                                        glfw/examples/heightmap.c \
                                        glfw/examples/offscreen.c \
                                        glfw/examples/particles.c \
                                        glfw/examples/sharing.c \
                                        glfw/examples/simple.c \
                                        glfw/examples/splitview.c \
                                        glfw/examples/wave.c \
                                        glfw/src/cocoa_time.c \
                                        glfw/src/context.c \
                                        glfw/src/egl_context.c \
                                        glfw/src/glx_context.c \
                                        glfw/src/init.c \
                                        glfw/src/input.c \
                                        glfw/src/linux_joystick.c \
                                        glfw/src/monitor.c \
                                        glfw/src/null_init.c \
                                        glfw/src/null_joystick.c \
                                        glfw/src/null_monitor.c \
                                        glfw/src/null_window.c \
                                        glfw/src/osmesa_context.c \
                                        glfw/src/posix_thread.c \
                                        glfw/src/posix_time.c \
                                        glfw/src/vulkan.c \
                                        glfw/src/wgl_context.c \
                                        glfw/src/win32_init.c \
                                        glfw/src/win32_joystick.c \
                                        glfw/src/win32_monitor.c \
                                        glfw/src/win32_thread.c \
                                        glfw/src/win32_time.c \
                                        glfw/src/win32_window.c \
                                        glfw/src/window.c \
                                        glfw/src/wl_init.c \
                                        glfw/src/wl_monitor.c \
                                        glfw/src/wl_window.c \
                                        glfw/src/x11_init.c \
                                        glfw/src/x11_monitor.c \
                                        glfw/src/x11_window.c \
                                        glfw/src/xkb_unicode.c \
                                        main.cpp
                                
                                DISTFILES += \
                                    glfw/CMake/GenerateMappings.cmake \
                                    glfw/CMake/MacOSXBundleInfo.plist.in \
                                    glfw/CMake/i686-w64-mingw32-clang.cmake \
                                    glfw/CMake/i686-w64-mingw32.cmake \
                                    glfw/CMake/modules/FindEpollShim.cmake \
                                    glfw/CMake/modules/FindOSMesa.cmake \
                                    glfw/CMake/modules/FindWaylandProtocols.cmake \
                                    glfw/CMake/modules/FindXKBCommon.cmake \
                                    glfw/CMake/x86_64-w64-mingw32-clang.cmake \
                                    glfw/CMake/x86_64-w64-mingw32.cmake \
                                    glfw/CMakeLists.txt \
                                    glfw/cmake_uninstall.cmake.in \
                                    glfw/examples/CMakeLists.txt \
                                    glfw/examples/glfw.icns \
                                    glfw/examples/glfw.ico \
                                    glfw/examples/glfw.rc \
                                    glfw/src/CMakeLists.txt \
                                    glfw/src/cocoa_init.m \
                                    glfw/src/cocoa_joystick.m \
                                    glfw/src/cocoa_monitor.m \
                                    glfw/src/cocoa_window.m \
                                    glfw/src/glfw3.pc.in \
                                    glfw/src/glfw3Config.cmake.in \
                                    glfw/src/glfw_config.h.in \
                                    glfw/src/mappings.h.in \
                                    glfw/src/nsgl_context.m
                                
                                HEADERS += \
                                    glfw/deps/getopt.h \
                                    glfw/deps/glad/gl.h \
                                    glfw/deps/glad/khrplatform.h \
                                    glfw/deps/glad/vk_platform.h \
                                    glfw/deps/glad/vulkan.h \
                                    glfw/deps/linmath.h \
                                    glfw/deps/mingw/_mingw_dxhelper.h \
                                    glfw/deps/mingw/dinput.h \
                                    glfw/deps/mingw/xinput.h \
                                    glfw/deps/nuklear.h \
                                    glfw/deps/nuklear_glfw_gl2.h \
                                    glfw/deps/stb_image_write.h \
                                    glfw/deps/tinycthread.h \
                                    glfw/deps/vs2008/stdint.h \
                                    glfw/include/GLFW/glfw3.h \
                                    glfw/include/GLFW/glfw3native.h \
                                    glfw/src/cocoa_joystick.h \
                                    glfw/src/cocoa_platform.h \
                                    glfw/src/egl_context.h \
                                    glfw/src/glx_context.h \
                                    glfw/src/internal.h \
                                    glfw/src/linux_joystick.h \
                                    glfw/src/mappings.h \
                                    glfw/src/nsgl_context.h \
                                    glfw/src/null_joystick.h \
                                    glfw/src/null_platform.h \
                                    glfw/src/osmesa_context.h \
                                    glfw/src/posix_thread.h \
                                    glfw/src/posix_time.h \
                                    glfw/src/wgl_context.h \
                                    glfw/src/win32_joystick.h \
                                    glfw/src/win32_platform.h \
                                    glfw/src/wl_platform.h \
                                    glfw/src/x11_platform.h \
                                    glfw/src/xkb_unicode.h
                                

                                The Qt recognize the function so everything is good. I click on rebuilt all projects

                                But when I try to built the program I get the following error:

                                1.PNG

                                And when I push the run button I get the a loads of errors

                                2.PNG

                                I use the code from link here.

                                1 Reply Last reply
                                0
                                • SGaistS Offline
                                  SGaistS Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #19

                                  GLFW already provides a mean to build their library. Use it.

                                  Interested in AI ? www.idiap.ch
                                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  B 1 Reply Last reply
                                  0
                                  • SGaistS SGaist

                                    GLFW already provides a mean to build their library. Use it.

                                    B Offline
                                    B Offline
                                    bence
                                    wrote on last edited by
                                    #20

                                    @SGaist

                                    And who to built it. I just find the way to use it in VS.

                                    1 Reply Last reply
                                    0
                                    • SGaistS Offline
                                      SGaistS Offline
                                      SGaist
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #21

                                      Please, read the documentation of the libraries you want to use. It's explained right in their website.

                                      Interested in AI ? www.idiap.ch
                                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                      B 2 Replies Last reply
                                      1
                                      • SGaistS SGaist

                                        Please, read the documentation of the libraries you want to use. It's explained right in their website.

                                        B Offline
                                        B Offline
                                        bence
                                        wrote on last edited by
                                        #22

                                        @SGaist

                                        just another think link somebody says

                                        LIBS += -LC:\Qt\5.13.0\mingw73_64\lib\libQt5OpenGL.a -lopengl64
                                        

                                        It should work but it does not work for me

                                        1 Reply Last reply
                                        0
                                        • SGaistS SGaist

                                          Please, read the documentation of the libraries you want to use. It's explained right in their website.

                                          B Offline
                                          B Offline
                                          bence
                                          wrote on last edited by
                                          #23

                                          @SGaist

                                          Other thing is that at glfw\lib-mingw-w64 there is 3 files

                                          glfw3.dll
                                          libglfw3.a
                                          libglfw3dll.a

                                          these are libarys so I assume that I could include that so right click add external libary I add: libglfw3.a

                                          .pro file

                                          TEMPLATE = app
                                          CONFIG += console c++11
                                          CONFIG -= app_bundle
                                          CONFIG -= qt
                                          
                                          SOURCES += main.cpp
                                          
                                          
                                          INCLUDEPATH += C:\glfw\include
                                          
                                          win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../glfw/lib-mingw-w64/ -lglfw3
                                          else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../glfw/lib-mingw-w64/ -lglfw3d
                                          else:unix: LIBS += -L$$PWD/../../../../glfw/lib-mingw-w64/ -lglfw3
                                          
                                          INCLUDEPATH += $$PWD/../../../../glfw/lib-mingw-w64
                                          DEPENDPATH += $$PWD/../../../../glfw/lib-mingw-w64
                                          

                                          So it looks good but when I try to build the program I get errors

                                          :-1: error: cannot find -lglfw3d
                                          :-1: error: collect2.exe: error: ld returned 1 exit status
                                          
                                          JonBJ 1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved