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
Forum Updated to NodeBB v4.3 + New Features

Qt GLFW and GLEW setup

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
30 Posts 3 Posters 7.9k 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
    #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
                • B bence

                  @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 Offline
                  JonBJ Offline
                  JonB
                  wrote on last edited by JonB
                  #24

                  @bence said in Qt GLFW and GLEW setup:

                  error: cannot find -lglfw3d

                  I don't know whether it would give rise to that error message, but I do not see either a .dll or a .a having that trailing d in its name. When using MSVC, debug libraries have a d on the end of their name, but I don't think that is the convention when using gcc/mingw. So are you using a linker line designed for MSVC with a build using MinGW?

                  B 1 Reply Last reply
                  1
                  • JonBJ JonB

                    @bence said in Qt GLFW and GLEW setup:

                    error: cannot find -lglfw3d

                    I don't know whether it would give rise to that error message, but I do not see either a .dll or a .a having that trailing d in its name. When using MSVC, debug libraries have a d on the end of their name, but I don't think that is the convention when using gcc/mingw. So are you using a linker line designed for MSVC with a build using MinGW?

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

                    @JonB said in Qt GLFW and GLEW setup:

                    MSVC

                    At C:\glfw\lib-vc2019 there is 3 files glfw3.dll glfw3.lib glfw3dll.lib

                    At C:\glfw\lib-mingw-w64 there is 3 files glfw3.dll libglfw3.a libglfw3dll.a I am using this libary but I getting error I know that there is no d in name I add external libary I add libglfw3.a and I disable Mac and Linux platform and I also disable Add d suffix for debug version

                    lib-mingw-w64 there is nothing related to MSVS I guess

                    .pro

                    TEMPLATE = app
                    CONFIG += console c++11
                    CONFIG -= app_bundle
                    CONFIG -= qt
                    
                    INCLUDEPATH += C:\glfw\include
                    
                    win32: LIBS += -L$$PWD/../../../../glfw/lib-mingw-w64/ -lglfw3
                    
                    INCLUDEPATH += $$PWD/../../../../glfw/lib-mingw-w64
                    DEPENDPATH += $$PWD/../../../../glfw/lib-mingw-w64
                    
                    SOURCES += main.cpp
                    

                    I get 32 errors

                    undefined reference to `__imp_CreateDCW'
                    undefined reference to `__imp_GetDeviceCaps'
                    undefined reference to `__imp_DeleteDC'
                    

                    ....

                    JonBJ 1 Reply Last reply
                    0
                    • B bence

                      @JonB said in Qt GLFW and GLEW setup:

                      MSVC

                      At C:\glfw\lib-vc2019 there is 3 files glfw3.dll glfw3.lib glfw3dll.lib

                      At C:\glfw\lib-mingw-w64 there is 3 files glfw3.dll libglfw3.a libglfw3dll.a I am using this libary but I getting error I know that there is no d in name I add external libary I add libglfw3.a and I disable Mac and Linux platform and I also disable Add d suffix for debug version

                      lib-mingw-w64 there is nothing related to MSVS I guess

                      .pro

                      TEMPLATE = app
                      CONFIG += console c++11
                      CONFIG -= app_bundle
                      CONFIG -= qt
                      
                      INCLUDEPATH += C:\glfw\include
                      
                      win32: LIBS += -L$$PWD/../../../../glfw/lib-mingw-w64/ -lglfw3
                      
                      INCLUDEPATH += $$PWD/../../../../glfw/lib-mingw-w64
                      DEPENDPATH += $$PWD/../../../../glfw/lib-mingw-w64
                      
                      SOURCES += main.cpp
                      

                      I get 32 errors

                      undefined reference to `__imp_CreateDCW'
                      undefined reference to `__imp_GetDeviceCaps'
                      undefined reference to `__imp_DeleteDC'
                      

                      ....

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

                      @bence
                      The 3 unreferenceds you list come from WinGDI. You would need to link against something link Gdi32.lib for these, which I suspect you are not doing. Or, I don't know, those leading __imp_s might indicate you are still somehow trying to link against MSVC libraries.

                      In fact I even see a stackoverflow post covering this for GLFW MinGW link error, which you should read through and follow. It says MinGW has a library libgdi32.a for these.

                      B 1 Reply Last reply
                      0
                      • JonBJ JonB

                        @bence
                        The 3 unreferenceds you list come from WinGDI. You would need to link against something link Gdi32.lib for these, which I suspect you are not doing. Or, I don't know, those leading __imp_s might indicate you are still somehow trying to link against MSVC libraries.

                        In fact I even see a stackoverflow post covering this for GLFW MinGW link error, which you should read through and follow. It says MinGW has a library libgdi32.a for these.

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

                        @JonB But there is no Gdi32.lib file in the folder

                        And if I just use the following code

                        int main(void)
                        {
                            if (!glfwInit())
                                return -1;
                            return 0;
                        }
                        

                        It still not woriking

                        JonBJ 1 Reply Last reply
                        0
                        • B bence

                          @JonB But there is no Gdi32.lib file in the folder

                          And if I just use the following code

                          int main(void)
                          {
                              if (!glfwInit())
                                  return -1;
                              return 0;
                          }
                          

                          It still not woriking

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

                          @bence

                          But there is no Gdi32.lib file in the folder

                          Please read my post and act on it.

                          B 1 Reply Last reply
                          0
                          • JonBJ JonB

                            @bence

                            But there is no Gdi32.lib file in the folder

                            Please read my post and act on it.

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

                            @JonB

                            The only thing that I did is I add two file. I assume that I just have to do that.

                            .pro file

                            TEMPLATE = app
                            CONFIG += console c++11
                            CONFIG -= app_bundle
                            CONFIG -= qt
                            
                            INCLUDEPATH += C:\glfw\include
                            
                            SOURCES += main.cpp
                            
                            win32: LIBS += -L$$PWD/../../../../glfw/lib-mingw-w64/ -lglfw3
                            
                            INCLUDEPATH += $$PWD/../../../../glfw/lib-mingw-w64
                            DEPENDPATH += $$PWD/../../../../glfw/lib-mingw-w64
                            
                            
                            win32: LIBS += -L$$PWD/../../../../MinGW/lib/ -lgdi32
                            
                            INCLUDEPATH += $$PWD/../../../../MinGW/include
                            DEPENDPATH += $$PWD/../../../../MinGW/include
                            
                            win32: LIBS += -L$$PWD/../../../../MinGW/lib/ -lopengl32
                            
                            INCLUDEPATH += $$PWD/../../../../MinGW/include
                            DEPENDPATH += $$PWD/../../../../MinGW/include
                            

                            1.PNG

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

                              It looks like you are mixing two different MinGW installations.

                              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

                              • Login

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