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.6k 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 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
                                        • 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

                                          • Login

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