QSqlDatabase: QMYSQL driver not loaded ubuntu, Qt5.14.0
-
I am new to Qt trying to integrate mysql with qt
but unfortunately showing this errorQSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
open fail
"Driver not loaded"I followed this documentation https://doc.qt.io/qt-5/sql-driver.html#qmysql
/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers# qmake -- MYSQL_PREFIX=/usr/local
Running configuration tests...
Done running configuration tests.Configure summary:
Qt Sql Drivers:
DB2 (IBM) .............................. no
InterBase .............................. no
MySql .................................. yes
OCI (Oracle) ........................... no
ODBC ................................... no
PostgreSQL ............................. no
SQLite2 ................................ no
SQLite ................................. yes
Using system provided SQLite ......... no
TDS (Sybase) ........................... noQt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/usr'.Prior to reconfiguration, make sure you remove any leftovers from
the previous build./Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers# make sub-mysql
cd mysql/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/sujith/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/mysql/mysql.pro MYSQL_PREFIX=/usr/local ) && make -f Makefile
make[1]: Entering directory '/home/sujith/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/mysql'
make[1]: Nothing to be done for 'first'.
make[1]: Leaving directory '/home/sujith/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/mysql'/home/sujith/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/mysql# make -f Makefile
make: Nothing to be done for 'first'.Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/mysql# make install
/usr/lib/qt5/bin/qmake -install qinstall -exe ../plugins/sqldrivers/libqsqlmysql.so /usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers/libqsqlmysql.so
/usr/lib/qt5/bin/qmake -install qinstall /home/sujith/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/lib/cmake/Qt5Sql/Qt5Sql_QMYSQLDriverPlugin.cmake /usr/lib/x86_64-linux-gnu/cmake/Qt5Sql/Qt5Sql_QMYSQLDriverPlugin.cmake
root@sujith-HP-Notebook:/home/sujith/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/mysql#I can't figure out where I am missing.
-
Hi,
Did you install your custom built plugin ?
-
@mvsri Thanks for the reply
sudo apt-get install libqt5sql5-mysql
Reading package lists... Done
Building dependency tree
Reading state information... Done
libqt5sql5-mysql is already the newest version (5.12.2+dfsg-4ubuntu1.1).
The following packages were automatically installed and are no longer required:
libdumbnet1 php7.3-dev
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. -
@sujith-D said in QSqlDatabase: QMYSQL driver not loaded ubuntu, Qt5.14.0:
I can't figure out where I am missing.
There is nothing missing - all is fine as you can see:
/usr/lib/qt5/bin/qmake -install qinstall -exe ../plugins/sqldrivers/libqsqlmysql.so /usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers/libqsqlmysql.so
The plugin is now correctly installed for your custom Qt5.14.0 installation
-
@Christian-Ehrlicher But unfortunately when I run my code it shows this error
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
open fail
"Driver not loaded" -
Ah sorry, you did something wrong.
You called the wrong qmake executable so it was installed into your system Qt installation. You have to remove config.cache, and run the correct qmake (from where you installed Qt 5.14.0 into) -
@Christian-Ehrlicher said in QSqlDatabase: QMYSQL driver not loaded ubuntu, Qt5.14.0:
qmake
Bro how to remove the config cache, and how to run correct qmake , if my qt installed path is /home/sujith/Qt5.14.0/5.14.0/Src/
-
How to remove: delete the file/folder using for example rm.
For qmake, use the full path to the executable you want to call.
-
The config.cache file is create by qmake in /Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers - you simply could have take a look there to find it.
-
Thanks found /home/sujith/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/config.cache
rm /home/sujith/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/config.cache ?
then again qmake -- MYSQL_PREFIX= fullpath ?
how to find fullpath ? -
@sujith-D said in QSqlDatabase: QMYSQL driver not loaded ubuntu, Qt5.14.0:
how to find fullpath ?
you should know where you installed your Qt5.14. installation into, so you can also find the correct qmake in there - we don't know where you installed your Qt5.14 binary files (your comment about /home/sujith/Qt5.14.0/5.14.0/Src is wrong - at least I don't think that you installed your binary files into the source dir)