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驱动。
中的说明进行操作
- 安装mySQL connector.
- 按照说明操作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.
我知道有人问这个问题已经有 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驱动。
中的说明进行操作- 安装mySQL connector.
- 按照说明操作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.