QMYSQL driver build problem
-
Start your application with the QT_DEBUG_PLUGINS environment variable set to 1.
That will give you more information about what is going on.
-
@lorenko https://forum.qt.io/topic/113712/qmysql-driver-not-loaded see my topic and all probelm in Make file open it with notepad or IDE C++ config the link INCLUDEPATH or LIBS I have lost 1 week this fuck problem
you can using
qmake INCLUDEPATH+="C:\PROGRA~2\MySQL\MYSQLS~1.5\include" LIBS+="C:\PROGRA~2\MySQL\MYSQLS~1.5\lib\libmysql.lib"mysql.proor qmake -- MYSQL_INCDIR="C:\PROGRA~2\MySQL\MYSQLC~1.1\include" MYSQL_LIBDIR="C:\PROGRA~2\MySQL\MYSQLC~1.1\lib"
but the linked you can see in Make-file is wrong because you using qmake more than 1 and Makefile buid linked wrong.
-
@nguyendinh said in QMYSQL driver build problem:
because you using qmake more than 1 and Makefile buid linked wrong
Instead of editing makefiles make sure you start from a clean state: do out of source builds and delete content of the build directory before calling qmake again.
-
Thanks, but no way
this my config log
Command line: MYSQL_INCDIR=/usr/local/mysql-8.0.19-macos10.15-x86_64/include MYSQL_LIBDIR=/usr/local/mysql-8.0.19-macos10.15-x86_64/lib Global lib dirs: [] [/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib] Global inc dirs: [/usr/local/opt/openssl/include] [/Library/Developer/CommandLineTools/usr/include/c++/v1 /Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/include /Library/Developer/CommandLineTools/usr/include /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include] loaded result for library config.sqldrivers.libraries.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 ... + cd /Users/lorenko/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/config.tests/mysql && /Users/lorenko/Qt5.14.2/5.14.2/clang_64/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" 'INCLUDEPATH += /usr/local/opt/openssl/include' 'QMAKE_USE += mysql' 'QMAKE_LIBS_MYSQL = -L/usr/local/mysql-8.0.19-macos10.15-x86_64/lib -lmysqlclient_r' 'QMAKE_INCDIR_MYSQL = /usr/local/mysql-8.0.19-macos10.15-x86_64/include' /Users/lorenko/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/config.tests/mysql + cd /Users/lorenko/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/config.tests/mysql && MAKEFLAGS= make clean && MAKEFLAGS= make > rm -f main.o > rm -f *~ core *.core > /Library/Developer/CommandLineTools/usr/bin/clang++ -c -pipe -stdlib=libc++ -O2 -std=gnu++11 -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.13 -w -fPIC -I. -I/usr/local/opt/openssl/include -I/usr/local/mysql-8.0.19-macos10.15-x86_64/include -I/Users/lorenko/Qt5.14.2/5.14.2/clang_64/mkspecs/macx-clang -o main.o main.cpp > /Library/Developer/CommandLineTools/usr/bin/clang++ -stdlib=libc++ -headerpad_max_install_names -arch x86_64 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.13 -Wl,-rpath,@executable_path/../Frameworks -o mysql main.o -L/usr/local/mysql-8.0.19-macos10.15-x86_64/lib -lmysqlclient_r > ld: library not found for -lmysqlclient_r > clang: error: linker command failed with exit code 1 (use -v to see invocation)
and qmake command
/Users/lorenko/Qt5.14.2/5.14.2/clang_64/bin/qmake -- MYSQL_INCDIR="/usr/local/mysql-8.0.19-macos10.15-x86_64/include" MYSQL_LIBDIR="/usr/local/mysql-8.0.19-macos10.15-x86_64/lib"
same results
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
-
@SGaist said in QMYSQL driver build problem:
Start your application with the QT_DEBUG_PLUGINS environment variable set to 1.
Ohh, sorry you're right and my apologies to @SGaist
QFactoryLoader::QFactoryLoader() checking directory path "/Users/lorenko/progetti/build-BoraApp-Desktop_Qt_5_14_2_clang_64bit-Debug/BoraApp.app/Contents/MacOS/sqldrivers" ... Cannot load library /Users/lorenko/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers/libqsqlmysql.dylib: (dlopen(/Users/lorenko/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers/libqsqlmysql.dylib, 133): Library not loaded: @rpath/libmysqlclient.21.dylib Referenced from: /Users/lorenko/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers/libqsqlmysql.dylib Reason: image not found) QLibraryPrivate::loadPlugin failed on "/Users/lorenko/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers/libqsqlmysql.dylib" : "Cannot load library /Users/lorenko/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers/libqsqlmysql.dylib: (dlopen(/Users/lorenko/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers/libqsqlmysql.dylib, 133): Library not loaded: @rpath/libmysqlclient.21.dylib\n Referenced from: /Users/lorenko/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers/libqsqlmysql.dylib\n Reason: image not found)" QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
The problem was solved copiyng mysql libraries to /usr/local/lib
thank you very much and sorry again
-
One thing you can do is use install_name_tool and update the MySQL library path to use the full path.
-
This post is deleted!
-
@worldpiece said in QMYSQL driver build problem:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7Hey, I did this successfully, like I think that you also did, as you have the QMYSQL driver.
I had to copy libmysql, from the MySQL Server dir to my exe /debug/release folder together with the dependency libs from openssl,
libssl-1_1-x64
libcrypto-1_1-x64I also had to copy the qmysql drivers to a folder named sqldrivers my exe folder..
But a guy who just had this problem had to make fewer changes, all he needed to do was add the openssl libs to the exe/build folder, so maybe try that first.