Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to create the plugin of MARIADB for Qt5
Forum Updated to NodeBB v4.3 + New Features

How to create the plugin of MARIADB for Qt5

Scheduled Pinned Locked Moved Solved General and Desktop
20 Posts 4 Posters 7.8k 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.
  • S Offline
    S Offline
    SGaist
    Lifetime Qt Champion
    wrote on 24 Apr 2018, 19:42 last edited by
    #10

    What do you get if you call make in the mysql subfolder ?

    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
      blackout69
      wrote on 24 Apr 2018, 20:29 last edited by
      #11
      C:\Qt\5.10.1\Src\qtbase\src\plugins\sqldrivers\config.tests\mysql>mingw32-make
      g++ -c -fno-keep-inline-dllexport -O2 -std=gnu++11 -w -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -I. -IC:\utils\my_sql\my_sql\include -IC:\utils\postgresql\pgsql\include -IC:\openssl\include -IC:\PROGRA~2\MARIAD~1.2\include -IC:\Qt\5.10.1\mingw53_32\mkspecs\win32-g++  -o main.o main.cpp
      main.cpp:5:19: fatal error: mysql.h: No such file or directory
      compilation terminated.
      Makefile:439: recipe for target 'main.o' failed
      mingw32-make: *** [main.o] Error 1
      
      1 Reply Last reply
      0
      • S Offline
        S Offline
        SGaist
        Lifetime Qt Champion
        wrote on 24 Apr 2018, 20:30 last edited by
        #12

        Where exactly do you have that file in your system ?

        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
          blackout69
          wrote on 24 Apr 2018, 20:40 last edited by
          #13

          C:\Program Files (x86)\MariaDB 10.2\include\mysql
          C:\Program Files (x86)\MariaDB 10.2\include\mysql\server

          1 Reply Last reply
          0
          • S Offline
            S Offline
            SGaist
            Lifetime Qt Champion
            wrote on 24 Apr 2018, 20:54 last edited by
            #14

            Then you are missing the mysql folder in the path given to MYSQL_INCDIR

            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
              blackout69
              wrote on 24 Apr 2018, 21:04 last edited by
              #15

              qmake -- MYSQL_INCDIR=C:\PROGRA~2\MARIAD~1.2\include\mysql "MYSQL_LIBDIR=C:\PROGRA~2\MARIAD~1.2\lib"

              Configure summary:

              Qt Sql:
              DB2 (IBM) .............................. no
              InterBase .............................. no
              MySql .................................. no
              OCI (Oracle) ........................... no
              ODBC ................................... yes
              PostgreSQL ............................. no
              SQLite2 ................................ no
              SQLite ................................. yes
              Using system provided SQLite ......... no
              TDS (Sybase) ........................... no

              1 Reply Last reply
              0
              • S Offline
                S Offline
                SGaist
                Lifetime Qt Champion
                wrote on 24 Apr 2018, 21:07 last edited by
                #16

                Again, check what happens if you try to build the MySQL test application.

                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
                  blackout69
                  wrote on 24 Apr 2018, 21:18 last edited by
                  #17

                  C:\Qt\5.10.1\Src\qtbase\src\plugins\sqldrivers\config.tests\mysql>mingw32-make
                  g++ -Wl,-s -Wl,-subsystem,console -mthreads -o mysql.exe main.o -LC:\utils\my_sql\my_sql\lib -LC:\utils\postgresql\pgsql\lib -LC:\PROGRA~2\MARIAD~1.2\lib -llibmysql
                  C:/Qt/Tools/mingw530_32/bin/../lib/gcc/i686-w64-mingw32/5.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -llibmysql
                  collect2.exe: error: ld returned 1 exit status
                  Makefile:64: recipe for target 'mysql.exe' failed
                  mingw32-make: *** [mysql.exe] Error 1

                  My lib folder is:
                  C:\Program Files (x86)\MariaDB 10.2\lib
                  libmariadb.dll
                  libmariadb.lib
                  libmariadb.pdb
                  mariadbclient.lib
                  mysqlservices.lib

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on 24 Apr 2018, 21:24 last edited by
                    #18

                    Try setting MYSQL_LIBS to -lmariadb in addition to the other variables you already set.

                    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
                      blackout69
                      wrote on 24 Apr 2018, 21:35 last edited by blackout69
                      #19

                      qmake -- MYSQL_INCDIR=C:\PROGRA~2\MARIAD~1.2\include\mysql "MYSQL_LIBDIR=C:\PROGRA~2\MARIAD~1.2\lib" MYSQL_LIBS="-llibmariadb"

                      OK this work.
                      Thank you for your dedicated time.

                      blackout69

                      C 1 Reply Last reply 30 Dec 2018, 11:28
                      0
                      • B blackout69
                        24 Apr 2018, 21:35

                        qmake -- MYSQL_INCDIR=C:\PROGRA~2\MARIAD~1.2\include\mysql "MYSQL_LIBDIR=C:\PROGRA~2\MARIAD~1.2\lib" MYSQL_LIBS="-llibmariadb"

                        OK this work.
                        Thank you for your dedicated time.

                        blackout69

                        C Offline
                        C Offline
                        cawlfj
                        wrote on 30 Dec 2018, 11:28 last edited by
                        #20

                        @blackout69

                        I follow your step to build static mysql but got fail

                        0: set mysql=c:\mysql
                        1: cd C:\Qt\Qt5.12.0\5.12.0\Src\qtbase\src\plugins\sqldrivers
                        2: qmake sqldrivers.pro
                        3: cd C:\Qt\Qt5.12.0\5.12.0\Src\qtbase\src\plugins\sqldrivers\mysql
                        4: qmake -- MYSQL_INCDIR=C:\mysql\include "MYSQL_LIBDIR=C:\mysql\lib" MYSQL_LIBS="-lmariadbclient"
                        got error after this step
                        Project ERROR: Library 'mysql' is not defined.
                        5: cd C:\Qt\Qt5.12.0\5.12.0\Src\qtbase\src\plugins\sqldrivers
                        6: qmake -- MYSQL_INCDIR=C:\mysql\include "MYSQL_LIBDIR=C:\mysql\lib" MYSQL_LIBS="-lmariadbclient"
                        no error after this step
                        7: nmake sub-mysql
                        got error after this step
                        NMAKE : fatal error U1073: 不知道如何生成“sub-mysql” Stop.
                        ( NMAKE : fatal error U1073: don't know how to generate “sub-mysql” Stop.)

                        could you help me to correct the steps?
                        I don't know which step or path is wrong.
                        Many thanks .

                        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