Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Can't working MYSQL database in qt (QSqlDatabase: available drivers: QSQLITE QODBC QPSQL)
Forum Updated to NodeBB v4.3 + New Features

Can't working MYSQL database in qt (QSqlDatabase: available drivers: QSQLITE QODBC QPSQL)

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
33 Posts 6 Posters 4.1k 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.
  • JonBJ JonB

    @Lestev
    I think you have typed an incorrect character in the command you are trying to copy from somewhere? You have a > where I do not think you should have, maybe even a < too. Could you please

    • Copy and paste all that text here instead of a screenshot, please; and
    • Show where/what exactly it is that is telling you what to type as the command.
    L Offline
    L Offline
    Lestev
    wrote on last edited by Lestev
    #9

    @JonB Hi, thanks, commands:

    mkdir build-sqldrivers

    cd build-sqldrivers

    qt-cmake -G Ninja <qt_installation_path>/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.<so|dylib>"

    cmake --build .

    cmake --install .

    https://doc.qt.io/qt-6/sql-driver.html#qmysql

    Screenshot 2022-02-22 at 21.40.10.png

    Screenshot 2022-02-22 at 21.40.59.png

    I want to connect to database MYSQL, but it is error bother me)...

    JonBJ 1 Reply Last reply
    0
    • L Lestev

      @JonB Hi, thanks, commands:

      mkdir build-sqldrivers

      cd build-sqldrivers

      qt-cmake -G Ninja <qt_installation_path>/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.<so|dylib>"

      cmake --build .

      cmake --install .

      https://doc.qt.io/qt-6/sql-driver.html#qmysql

      Screenshot 2022-02-22 at 21.40.10.png

      Screenshot 2022-02-22 at 21.40.59.png

      I want to connect to database MYSQL, but it is error bother me)...

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

      @Lestev
      I asked you to copy & paste the command you showed yourself issuing and going wrong in your previous post. The whole of your terminal window's input/output. You now seem to be showing something totally different and unrelated, and not even mentioning that. I don't know what you want help with. Please try to ask some question and stick with it.

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

        It's one thing to copy commands verbatim, it's another to truly understand what is going on. From what you shown, the backend was at least not installed and from the looks of it, not even built.

        Did you check that you have the MySQL client library installed ?

        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
        • JonBJ JonB

          @Lestev
          I asked you to copy & paste the command you showed yourself issuing and going wrong in your previous post. The whole of your terminal window's input/output. You now seem to be showing something totally different and unrelated, and not even mentioning that. I don't know what you want help with. Please try to ask some question and stick with it.

          L Offline
          L Offline
          Lestev
          wrote on last edited by
          #12

          @JonB my question is simple how can i create a file libqsqlmysql.dylib if i keep getting error when calling qmake:

          I follow the documentation on how to create libqsqlmysql.dylib:

          Screenshot 2022-02-22 at 22.11.26.png

          the first is that I choose a folder
          Screenshot 2022-02-22 at 22.12.57.png

          after i go to terminal
          Screenshot 2022-02-22 at 22.16.21.png
          How can i fix this error?

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

            By following the instructions from Qt 6 as you were already explained. Instructions which makes no use of qmake as Qt 6 uses cmake as build system.
            By not just copy/pasting the commands shown but doing the appropriate substitutions since there are placeholders in the instructions shown in the documentation.
            By ensuring that you have the correct dependencies installed.
            By checking the configure log.
            By checking the build log.

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

            L 1 Reply Last reply
            3
            • SGaistS SGaist

              By following the instructions from Qt 6 as you were already explained. Instructions which makes no use of qmake as Qt 6 uses cmake as build system.
              By not just copy/pasting the commands shown but doing the appropriate substitutions since there are placeholders in the instructions shown in the documentation.
              By ensuring that you have the correct dependencies installed.
              By checking the configure log.
              By checking the build log.

              L Offline
              L Offline
              Lestev
              wrote on last edited by
              #14

              @SGaist So i followed documentation :
              Screenshot 2022-02-23 at 10.00.44.png

              Screenshot 2022-02-23 at 10.00.16.png

              but the command gave me an error

              jsulmJ 1 Reply Last reply
              0
              • L Lestev

                @SGaist So i followed documentation :
                Screenshot 2022-02-23 at 10.00.44.png

                Screenshot 2022-02-23 at 10.00.16.png

                but the command gave me an error

                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #15

                @Lestev You should really start to CAREFULLY read what others write and also try to understand what you are doing!
                You are still using .<so|dylib> in your command and it should be actually apparent that you should replace it by what your platform requires (.dylib on Mac).

                You also should remove "-G Ninja" if you do not have Ninja.

                Also you were asked to post TEXT not pictures, but you keep posting pictures. Is there a reason for that?

                L 1 Reply Last reply
                1
                • jsulmJ jsulm

                  @Lestev You should really start to CAREFULLY read what others write and also try to understand what you are doing!
                  You are still using .<so|dylib> in your command and it should be actually apparent that you should replace it by what your platform requires (.dylib on Mac).

                  You also should remove "-G Ninja" if you do not have Ninja.

                  Also you were asked to post TEXT not pictures, but you keep posting pictures. Is there a reason for that?

                  L Offline
                  L Offline
                  Lestev
                  wrote on last edited by
                  #16

                  @jsulm wow! Thank you very much, I did this and succeeded, but the error remained, I added install_name_tool -change /usr/local/mysql-8.0.25-macos11-x86_64/lib/libmysqlclient.21.dylib /usr/local/mysql-8.0 . 25-macos11-x86_64/lib/libmysqlclient.21.dylib/Users/migellestv/Qt/6.2.3/macos/plugins/sqldrivers/libqsqlmysql.dylib

                  and I succeeded, but error remained:

                  QSqlQuery::exec: database not open
                  QSqlQuery::exec: database not open
                  QSqlDatabase: QMYSQL driver not loaded
                  QSqlDatabase: available drivers: QSQLITE QODBC QPSQL

                  Why if i added install_name_tool?

                  jsulmJ 1 Reply Last reply
                  0
                  • L Lestev

                    @jsulm wow! Thank you very much, I did this and succeeded, but the error remained, I added install_name_tool -change /usr/local/mysql-8.0.25-macos11-x86_64/lib/libmysqlclient.21.dylib /usr/local/mysql-8.0 . 25-macos11-x86_64/lib/libmysqlclient.21.dylib/Users/migellestv/Qt/6.2.3/macos/plugins/sqldrivers/libqsqlmysql.dylib

                    and I succeeded, but error remained:

                    QSqlQuery::exec: database not open
                    QSqlQuery::exec: database not open
                    QSqlDatabase: QMYSQL driver not loaded
                    QSqlDatabase: available drivers: QSQLITE QODBC QPSQL

                    Why if i added install_name_tool?

                    jsulmJ Offline
                    jsulmJ Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #17

                    @Lestev Did you also do this:

                    cmake --build .
                    cmake --install .
                    

                    ?
                    https://doc.qt.io/qt-6/sql-driver.html#qmysql

                    L 1 Reply Last reply
                    0
                    • jsulmJ jsulm

                      @Lestev Did you also do this:

                      cmake --build .
                      cmake --install .
                      

                      ?
                      https://doc.qt.io/qt-6/sql-driver.html#qmysql

                      L Offline
                      L Offline
                      Lestev
                      wrote on last edited by
                      #18

                      @jsulm said in Can't working MYSQL database in qt (QSqlDatabase: available drivers: QSQLITE QODBC QPSQL):

                      Did you also do this:

                      Yes i successed :

                      cmake --build .
                      [9/11] Linking CXX shared module plugins/sqldrivers/libqsqlmysql.dylib
                      ld: warning: linking against a dylib which is not safe for use in application extensions: /usr/local/mysql/lib/libmysqlclient.dylib
                      [11/11] Linking CXX shared module plugins/sqldrivers/libqsqlite.dylib
                      migellestev@Migels-MacBook-Pro build-sqldrivers % cmake --install .
                      -- Install configuration: "RelWithDebInfo"
                      -- Installing: /Users/migellestev/Qt/6.2.3/macos/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginConfig.cmake
                      -- Installing: /Users/migellestev/Qt/6.2.3/macos/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginConfigVersion.cmake
                      -- Installing: /Users/migellestev/Qt/6.2.3/macos/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginConfigVersionImpl.cmake
                      etc

                      jsulmJ 1 Reply Last reply
                      0
                      • L Lestev

                        @jsulm said in Can't working MYSQL database in qt (QSqlDatabase: available drivers: QSQLITE QODBC QPSQL):

                        Did you also do this:

                        Yes i successed :

                        cmake --build .
                        [9/11] Linking CXX shared module plugins/sqldrivers/libqsqlmysql.dylib
                        ld: warning: linking against a dylib which is not safe for use in application extensions: /usr/local/mysql/lib/libmysqlclient.dylib
                        [11/11] Linking CXX shared module plugins/sqldrivers/libqsqlite.dylib
                        migellestev@Migels-MacBook-Pro build-sqldrivers % cmake --install .
                        -- Install configuration: "RelWithDebInfo"
                        -- Installing: /Users/migellestev/Qt/6.2.3/macos/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginConfig.cmake
                        -- Installing: /Users/migellestev/Qt/6.2.3/macos/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginConfigVersion.cmake
                        -- Installing: /Users/migellestev/Qt/6.2.3/macos/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginConfigVersionImpl.cmake
                        etc

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #19

                        @Lestev OK, then we need to debug now.
                        Do this on console:

                        • Go to the build folder of your application
                        • Do: export QT_DEBUG_PLUGINS=1
                        • Run your app from the terminal
                        • Copy paste the output from terminal to here

                        You can also set QT_DEBUG_PLUGINS in Run settings of your project in QtCreator.
                        https://doc.qt.io/qt-5/debug.html

                        L 1 Reply Last reply
                        0
                        • jsulmJ jsulm

                          @Lestev OK, then we need to debug now.
                          Do this on console:

                          • Go to the build folder of your application
                          • Do: export QT_DEBUG_PLUGINS=1
                          • Run your app from the terminal
                          • Copy paste the output from terminal to here

                          You can also set QT_DEBUG_PLUGINS in Run settings of your project in QtCreator.
                          https://doc.qt.io/qt-5/debug.html

                          L Offline
                          L Offline
                          Lestev
                          wrote on last edited by Lestev
                          #20

                          @jsulm Thanks, i get it, but how i can use run in terminal project?, i wrote:

                          migellestev@Migels-MacBook-Pro forBeginner % c++ main.cpp
                          main.cpp:1:10: fatal error: 'QGuiApplication' file not found
                          #include <QGuiApplication>
                          ^~~~~~~~~~~~~~~~~
                          1 error generated.

                          jsulmJ 2 Replies Last reply
                          0
                          • L Lestev

                            @jsulm Thanks, i get it, but how i can use run in terminal project?, i wrote:

                            migellestev@Migels-MacBook-Pro forBeginner % c++ main.cpp
                            main.cpp:1:10: fatal error: 'QGuiApplication' file not found
                            #include <QGuiApplication>
                            ^~~~~~~~~~~~~~~~~
                            1 error generated.

                            jsulmJ Offline
                            jsulmJ Offline
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by
                            #21
                            This post is deleted!
                            1 Reply Last reply
                            0
                            • L Lestev

                              @jsulm Thanks, i get it, but how i can use run in terminal project?, i wrote:

                              migellestev@Migels-MacBook-Pro forBeginner % c++ main.cpp
                              main.cpp:1:10: fatal error: 'QGuiApplication' file not found
                              #include <QGuiApplication>
                              ^~~~~~~~~~~~~~~~~
                              1 error generated.

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by
                              #22

                              @Lestev I did not ask you to build your app in the terminal, that you can still do in QtCreator.
                              What I asked you to do is to run the executable of your application.

                              L 1 Reply Last reply
                              0
                              • jsulmJ jsulm

                                @Lestev I did not ask you to build your app in the terminal, that you can still do in QtCreator.
                                What I asked you to do is to run the executable of your application.

                                L Offline
                                L Offline
                                Lestev
                                wrote on last edited by
                                #23

                                @jsulm hey, the terminal doesn't output anything, it only launches the application

                                migellestev@Migels-MacBook-Pro build-forBeginner-Clone_of_Qt_6_2_2_for_macOS-Debug % export QT_DEBUG_PLUGINS=1
                                migellestev@Migels-MacBook-Pro build-forBeginner-Clone_of_Qt_6_2_2_for_macOS-Debug % open forBeginner.app
                                migellestev@Migels-MacBook-Pro build-forBeginner-Clone_of_Qt_6_2_2_for_macOS-Debug %

                                Everything works, but inside qt error is keeping

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

                                  Don't call open, use the full path to the executable in the bundle.

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

                                  L 1 Reply Last reply
                                  0
                                  • SGaistS SGaist

                                    Don't call open, use the full path to the executable in the bundle.

                                    L Offline
                                    L Offline
                                    Lestev
                                    wrote on last edited by
                                    #25

                                    @SGaist hi, I think my directory is not properly defined because it should be /Users/migellestev/Qt/6.2.3/macos/plugins/sqldrivers
                                    but directory is:
                                    /Users/migellestev/Qt/QtDesignStudio/qt6_design_studio_reduced_version/plugins/sqldrivers

                                    if it helps:
                                    Screenshot 2022-02-24 at 21.23.40.png
                                    Screenshot 2022-02-24 at 21.24.05.png

                                    1 Reply Last reply
                                    0
                                    • Christian EhrlicherC Online
                                      Christian EhrlicherC Online
                                      Christian Ehrlicher
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #26

                                      Looks like you're mixing up Qt versions which is not possible. Make sure QtDesignStudio is not picked up, only your Qt6.2.2 where you also (hopefully) build your Qt mysql plugin for. Currently it looks like you created (or had by default - don't know) the plugin inside QtDesignStudio.

                                      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                                      Visit the Qt Academy at https://academy.qt.io/catalog

                                      L 1 Reply Last reply
                                      0
                                      • Christian EhrlicherC Christian Ehrlicher

                                        Looks like you're mixing up Qt versions which is not possible. Make sure QtDesignStudio is not picked up, only your Qt6.2.2 where you also (hopefully) build your Qt mysql plugin for. Currently it looks like you created (or had by default - don't know) the plugin inside QtDesignStudio.

                                        L Offline
                                        L Offline
                                        Lestev
                                        wrote on last edited by
                                        #27

                                        @Christian-Ehrlicher
                                        Thanks for your response very much,
                                        But i verify my path and got that this path used by default, but why?

                                        Screenshot 2022-02-28 at 07.03.14.png

                                        I reinstalled qt and got the same

                                        1 Reply Last reply
                                        0
                                        • Christian EhrlicherC Online
                                          Christian EhrlicherC Online
                                          Christian Ehrlicher
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #28

                                          Don't know MacOS but on linux this means you have the other somewhere in your LD_LIBRARY_PATH or ld.so.conf. Remove it /make sure the correct path comes first.

                                          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                                          Visit the Qt Academy at https://academy.qt.io/catalog

                                          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