QT version 4.8 to 5.7 QMySQl
-
Hi there,
I made a new installation of my raspberry pi 3 and I reinstalled Qt 5.7.So my program was in 4.8 and whe, I try to compile with all my libraries, I've got a problem on the mysql driver. I did'nt find anywhere whitch package should I install. Somebody have a solution for that ?
Thanks by advance.my problem :
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE
-
Hi,
You need the MySQL client libraries.
ldd plugin_name.so
will give you the dependencies needed by the plugin. -
Thanks for your answer,
By using ldd I'm getting a long list of .so files , so I assume Qt doesn't find them or there are not installed, anyway I think there's a lot files needed to just find and copy them into the mysql forlder in Qt . What do you think?pi@dex:/usr/local/Qt-5.7.1/plugins/sqldrivers $ ldd libqsqlite.so linux-vdso.so.1 (0x7eeed000) /usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76e62000) libQt5Sql.so.5 => /usr/local/Qt-5.7.1/plugins/sqldrivers/./../../lib/libQt5Sql.so.5 (0x76e25000) libQt5Core.so.5 => /usr/local/Qt-5.7.1/plugins/sqldrivers/./../../lib/libQt5Core.so.5 (0x76919000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x768d9000) libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x767fd000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x76782000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76754000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76613000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x765ec000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x765d9000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x765c2000) /lib/ld-linux-armhf.so.3 (0x54b14000)
-
No, this one looks good, since all dependencies can be found.
Qt doesn't look for any libraries, it looks for its own plugins. It's the job of the loader to find the libraries on a system.
From what you wrote it's the MySQL plugin that you want to analyse not the SQLite.
-
Then run ldd on that plugin please.
-
So you mean the plugin wasn't built ?
-
I installed Qt via the tar.gz file so I build it by myself , is there any chances that the library is not build in the same time ?
In/usr/local/Qt-5.7.1/plugins/sqldrivers
I just havelibqsqlite.so
file so I assume that's where I need to have my MySQL files since I only have the sql detected by Qt. -
Do you have the MySQL dev package for ARM on your system ?
If not, then that's one of the reason why it wasn't built. If you have it, then it might not have been found.
In any case, you don't need to re-build all of Qt. Just build the plugin by hand like shown in the documentation.
-
I just installed Mysql to run it on my rasp , I tried to use some command to get the mysql packages but don't know if that works , do you have the command to get the dev package or the doc link please?
EDIT : sudo apt-get install mysql-client libmysqlclient-dev I tried this command line but it looks that I already have the packages.
-
@jsulm How are you doing that ?
EDIT :Problem seems to be solved with the mysql connector package that I didn't downloaded
For those who have the same problem try the command :sudo apt-get install libmysqlcppconn-dev
That worked for me , thank you guys .