QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE
解决方法,先看下是否已经安装了libqsqlmysql.so
[test1@localhost ~]$ locate libqsqlmysql.so
/var/cache/abrt-di/usr/lib/debug/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so.debug
我的系统上还没有安装,下面安装 qt-mysql.i686。
[root@localhost test1]# yum install qt-mysql.i686
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
qt-mysql i686 1:4.7.4-7.fc14 updates 67 k
[root@localhost test1]# updatedb
[test1@localhost ~]$ locate libqsqlmysql.so
/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so
/var/cache/abrt-di/usr/lib/debug/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so.debug
在程序里面调用
qDebug()<<QCoreApplication::libraryPaths ();
可以看到Qt 搜索库的路径。里面并没有/usr/lib/qt4/plugins/
这里有两种方式解决这个问题:
1、把libqsqlmysql.so所在的路径增加到库路径里面:
QcoreApplication::addLibraryPath("/usr/lib/qt4/plugins/");
2、直接复制libqsqlmysql.so到Qt的搜索路径中。
[test1@localhost ~]$ cp /usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so QtSDK/Desktop/Qt/4.8.1/gcc/plugins/sqldrivers/
http://doc.qt.nokia.com/4.7-snapshot/sql-driver.html

本文介绍了解决QSqlDatabase提示QMYSQL driver未加载的问题方法。首先确认系统已安装libqsqlmysql.so,若未安装可通过yum安装qt-mysql。安装后需确保Qt能正确找到该库文件,可通过调整Qt的库搜索路径或复制库文件到Qt搜索路径内来实现。
2万+

被折叠的 条评论
为什么被折叠?



