mysql qt数据库fedora驱动

mysql driver for qt database fedora

我知道有人问这个问题已经有 100 年了,但我仍然无法让 QMYSQL 工作。 所以我安装了 qt-mysql 但我仍然有

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE

我将 /usr/lib64/qt4/plugins/sqldrivers/libqsqlmysql.so 复制到 /usr/lib64/qt5/plugins/sqldrivers/libqsqlmysql.so 但没有更改...

我还在 .pro 文件中添加了 QT += sql

那我该怎么办?

P.S。 : 我在 Fedora 21 上,我正在使用基于 Qt 5.4.1 的 QtCreator 3.3.2。

P.P.S : 我也检查了 .so 是否有依赖问题但是有 none :

$ ldd libqsqlmysql.so 
linux-vdso.so.1 =>  (0x00007fff665d1000)
libmysqlclient.so.18 => /usr/lib64/mysql/libmysqlclient.so.18 (0x00007fcb07294000)
libQtSql.so.4 => /lib64/libQtSql.so.4 (0x00007fcb07052000)
libQtCore.so.4 => /lib64/libQtCore.so.4 (0x00007fcb06b63000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fcb06947000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fcb06638000)
libm.so.6 => /lib64/libm.so.6 (0x00007fcb0632f000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fcb06118000)
libc.so.6 => /lib64/libc.so.6 (0x00007fcb05d5b000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fcb05b56000)
libz.so.1 => /lib64/libz.so.1 (0x00007fcb05940000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007fcb0573e000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fcb05404000)
librt.so.1 => /lib64/librt.so.1 (0x00007fcb051fc000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcb07aa6000)

您不能只将 Qt4 MYSQL 驱动程序复制到 Qt5 中。从安装 Qt5 其余部分的相同位置安装它。 (封装qt5-qtbase-mysql 或者: https://apps.fedoraproject.org/packages/qt5-qtbase-mysql ).

您应该手动构建 mysql 驱动程序。 Qt默认安装的唯一驱动是Sqlite驱动。

按照http://doc.qt.io/qt-5.4/sql-driver.html#qmysql

中的说明进行操作
  1. 安装mySQL connector.
  2. 按照说明操作here

libmysql.dll needs to be located somewhere where it can be found by the application. To make this happen, you can list it in your global PATH in Control Panel/System/Advanced System Settings/Environment variables or put libmysql.dll in the same folder as the Qt dlls in yourQtDirectory/bin.