QMYSQL driver not loaded and Library mysql is not defined
-
@jsulm Ok new Qt has been installed, I ran again the command:
C:\Qt\5.12.5\msvc2017_64\bin\qmake.exe -- MYSQL_INCDIR="C:\Program Files\MySQL\MySQL Connector C 6.1\include" MYSQL_LIBDIR="C:\Program Files\MySQL\MySQL Connector C 6.1\lib"
And this time, another one turn to yes, but not MySQL:
Info: creating stash file C:\Qt\5.12.5\Src\qtbase\src\plugins\sqldrivers\.qmake.stash Running configuration tests... Checking for DB2 (IBM)... no Checking for InterBase... no Checking for MySQL... no Checking for OCI (Oracle)... no Checking for ODBC... yes Checking for PostgreSQL... no Checking for SQLite (version 2)... no Checking for TDS (Sybase)... no Done running configuration tests. Configure summary: Qt Sql Drivers: 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 Qt is now configured for building. Just run 'nmake'. Once everything is built, you must run 'nmake install'. Qt will be installed into 'C:\Qt\5.12.5\msvc2017_64'. Prior to reconfiguration, make sure you remove any leftovers from the previous build.
And there is the config.log file:
Command line: "MYSQL_INCDIR=C:\Program Files\MySQL\MySQL Connector C 6.1\include" "MYSQL_LIBDIR=C:\Program Files\MySQL\MySQL Connector C 6.1\lib" Global lib dirs: [C:\\openssl\\lib C:\\Utils\\my_sql\\mysql-5.6.11-winx64\\lib C:\\Utils\\postgresql\\pgsql\\lib] ["C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.26.28801\\ATLMFC\\lib\\x86" "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.26.28801\\lib\\x86" "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.18362.0\\ucrt\\x86" "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.18362.0\\um\\x86"] Global inc dirs: [C:\\openssl\\include C:\\Utils\\my_sql\\mysql-5.6.11-winx64\\include C:\\Utils\\postgresql\\pgsql\\include] ["C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.26.28801\\ATLMFC\\include" "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.26.28801\\include" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\ucrt" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\shared" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\um" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\winrt" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\cppwinrt"] looking for library db2 Trying source 0 (type inline) of library db2 ... None of [db2cli.lib] found in [] and global paths. => source produced no result. Trying source 1 (type inline) of library db2 ... => source failed condition '!config.win32'. test config.sqldrivers.libraries.db2 FAILED looking for library ibase Trying source 0 (type inline) of library ibase ... None of [gds32_ms.lib] found in [] and global paths. => source produced no result. Trying source 1 (type inline) of library ibase ... => source failed condition '!config.win32'. test config.sqldrivers.libraries.ibase FAILED looking for library mysql Trying source 0 (type mysqlConfig) of library mysql ... mysql_config not found. => source produced no result. Trying source 1 (type mysqlConfig) of library mysql ... mysql_config not found. => source produced no result. Trying source 2 (type mysqlConfig) of library mysql ... mysql_config not found. => source produced no result. Trying source 3 (type mysqlConfig) of library mysql ... mysql_config not found. => source produced no result. Trying source 4 (type inline) of library mysql ... => source failed condition '!config.win32'. Trying source 5 (type inline) of library mysql ... + cd /d C:\Qt\5.12.5\Src\qtbase\src\plugins\sqldrivers\config.tests\mysql && C:\Qt\5.12.5\msvc2017_64\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_LIBDIR += C:\\openssl\\lib C:\\Utils\\my_sql\\mysql-5.6.11-winx64\\lib C:\\Utils\\postgresql\\pgsql\\lib" "INCLUDEPATH += C:\\openssl\\include C:\\Utils\\my_sql\\mysql-5.6.11-winx64\\include C:\\Utils\\postgresql\\pgsql\\include" "QMAKE_USE += mysql" "QMAKE_LIBS_MYSQL = \"C:\\Program Files\\MySQL\\MySQL Connector C 6.1\\lib/libmysql.lib\"" "QMAKE_INCDIR_MYSQL = \"C:\\Program Files\\MySQL\\MySQL Connector C 6.1\\include\"" C:/Qt/5.12.5/Src/qtbase/src/plugins/sqldrivers/config.tests/mysql > Info: creating stash file C:\Qt\5.12.5\Src\qtbase\src\plugins\sqldrivers\config.tests\.qmake.stash + cd /d C:\Qt\5.12.5\Src\qtbase\src\plugins\sqldrivers\config.tests\mysql && set MAKEFLAGS=& nmake > Microsoft (R) Program Maintenance Utility Version 14.26.28806.0 > Copyright (C) Microsoft Corporation. Tous droits réservés. > cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -W0 -EHsc -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DNDEBUG -I. -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.6.11-winx64\include -IC:\Utils\postgresql\pgsql\include -I"C:\Program Files\MySQL\MySQL Connector C 6.1\include" -IC:\Qt\5.12.5\msvc2017_64\mkspecs\win32-msvc -Fo @C:\Users\marco\AppData\Local\Temp\nmB781.tmp > main.cpp > link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:mysql.exe @C:\Users\marco\AppData\Local\Temp\nmBA02.tmp > main.obj : error LNK2019: symbole externe non r‚solu _mysql_get_client_version@0 r‚f‚renc‚ dans la fonction _main > C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.lib : warning LNK4272: type d'ordinateur bibliothŠque 'x64' en conflit avec le type d'ordinateur cible 'x86' > mysql.exe : fatal error LNK1120: 1 externes non r‚solus > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86\link.EXE"' : code retour '0x460' > Stop. => source failed verification. Trying source 6 (type inline) of library mysql ... => source failed condition '!config.win32'. test config.sqldrivers.libraries.mysql FAILED looking for library oci Trying source 0 (type inline) of library oci ... None of [oci.lib] found in [] and global paths. => source produced no result. Trying source 1 (type inline) of library oci ... => source failed condition '!config.win32'. test config.sqldrivers.libraries.oci FAILED looking for library odbc Trying source 0 (type inline) of library odbc ... + cd /d C:\Qt\5.12.5\Src\qtbase\src\plugins\sqldrivers\config.tests\odbc && C:\Qt\5.12.5\msvc2017_64\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" "QMAKE_LIBDIR += C:\\openssl\\lib C:\\Utils\\my_sql\\mysql-5.6.11-winx64\\lib C:\\Utils\\postgresql\\pgsql\\lib" "INCLUDEPATH += C:\\openssl\\include C:\\Utils\\my_sql\\mysql-5.6.11-winx64\\include C:\\Utils\\postgresql\\pgsql\\include" "QMAKE_USE += odbc" "QMAKE_LIBS_ODBC = \"C:\\Program Files ^(x86^)\\Windows Kits\\10\\lib\\10.0.18362.0\\um\\x86/odbc32.lib\"" C:/Qt/5.12.5/Src/qtbase/src/plugins/sqldrivers/config.tests/odbc + cd /d C:\Qt\5.12.5\Src\qtbase\src\plugins\sqldrivers\config.tests\odbc && set MAKEFLAGS=& nmake > Microsoft (R) Program Maintenance Utility Version 14.26.28806.0 > Copyright (C) Microsoft Corporation. Tous droits réservés. > cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -W0 -EHsc -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DNDEBUG -I. -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.6.11-winx64\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\5.12.5\msvc2017_64\mkspecs\win32-msvc -Fo @C:\Users\marco\AppData\Local\Temp\nmBB78.tmp > main.cpp > link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:odbc.exe @C:\Users\marco\AppData\Local\Temp\nmBD4E.tmp => source accepted. test config.sqldrivers.libraries.odbc succeeded looking for library psql Trying source 0 (type pkgConfig) of library psql ... pkg-config use disabled globally. => source produced no result. Trying source 1 (type psqlConfig) of library psql ... pg_config not found. => source produced no result. Trying source 2 (type psqlEnv) of library psql ... None of [libpq.lib] found in [] and global paths. => source produced no result. Trying source 3 (type psqlEnv) of library psql ... => source failed condition '!config.win32'. test config.sqldrivers.libraries.psql FAILED looking for library sqlite2 Trying source 0 (type inline) of library sqlite2 ... None of [sqlite.lib] found in [] and global paths. => source produced no result. test config.sqldrivers.libraries.sqlite2 FAILED looking for library tds Trying source 0 (type sybaseEnv) of library tds ... None of [NTWDBLIB.lib] found in [] and global paths. => source produced no result. Trying source 1 (type sybaseEnv) of library tds ... => source failed condition '!config.win32'. test config.sqldrivers.libraries.tds FAILED
-
@Markyo said in QMYSQL driver not loaded and Library mysql is not defined:
what is the build folder
The folder in which you are when you call cmake.
Out of source build means that the build folder is outside of the source folder. -
This post is deleted!
-
@Mickleholts hi,
@jsulm already fave quite a lot of advices. Did you follow them ?
-
Hello, I'm coming back here again to look for some solutions !
Due to difference of version, I reinstalled another version, several times, and for my last try, with this command:C:\Qt\5.12.5\msvc2017\bin\qmake.exe -- MYSQL_INCDIR="C:\Program Files\MySQL\MySQL Connector C 6.1\include" MYSQL_LIBDIR="C:\Program Files\MySQL\MySQL Connector C 6.1\lib"
I get this environment problem:
Project ERROR: Cannot run compiler 'cl'. Output: =================== =================== Maybe you forgot to setup the environment?
Honestly, I don't understand why it is so hard to use the MySQL driver..
-
@Markyo said in QMYSQL driver not loaded and Library mysql is not defined:
Maybe you forgot to setup the environment?
You did not set up the MSVC environment as the error tells you - you have to run it from a MSVC command prompt. Nothing Qt specific - if you want to use a compiler in an environment you have to properly set it up.
Honestly, I don't understand why it is so hard to use the MySQL driver..
Ask Oracle why they changed their license so it can be shipped as pre-build library
-
@Christian-Ehrlicher thx so much it worked, the command tell me this:
Running configuration tests... Checking for DB2 (IBM)... no Checking for InterBase... no Checking for MySQL... yes Checking for OCI (Oracle)... no Checking for ODBC... yes Checking for PostgreSQL... no Checking for SQLite (version 2)... no Checking for TDS (Sybase)... no Done running configuration tests. Configure summary: Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. yes OCI (Oracle) ........................... no ODBC ................................... yes PostgreSQL ............................. no SQLite2 ................................ no SQLite ................................. yes Using system provided SQLite ......... no TDS (Sybase) ........................... no Qt is now configured for building. Just run 'nmake'. Once everything is built, you must run 'nmake install'. Qt will be installed into 'C:\Qt\5.12.5\msvc2017'. Prior to reconfiguration, make sure you remove any leftovers from the previous build.
So, MySQL is available, I typed nmake, then nmake install, then nmake install in mysql directory, everything seems to work.
I rebuilt my app, and ran the app and get this:
QML debugging is enabled. Only use this in a safe environment. QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Don't understand why it is available but not loaded.
-
The driver needs the dlls to be loaded.
You can help finding them modifying the PATH environment variable in the Run part of the Project panel in Qt Creator.
-
@SGaist Hello! I'm building a second app using QMySQL database, the first app (the one about this topic) works perfectly as expected, but the second tells me that the driver isn't loaded.
QSqlDatabase: MYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
I added mysql dll dir in PATH environment variable, but same problem stay the same..
Have you an idea please?
EDIT: nevermind, I'm just stupid, I forgot the "Q" before "MYSQL" call in code line:
QSqlDatabase db = QSqlDatabase::addDatabase("MYSQL");
Now it's:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
and strangely, works better..
Again, thank you all for your help!