>데이터 베이스 >MySQL 튜토리얼 >Qt连接MySQL出现QSqlDatabase: QMYSQL driver not loaded

Qt连接MySQL出现QSqlDatabase: QMYSQL driver not loaded

WBOY
WBOY원래의
2016-06-07 15:40:503205검색

QSqlDatabase:QMYSQLdrivernotloaded QSqlDatabase:availabledrivers:QSQLITE 解决方法,先看下是否已经安装了libqsqlmysql.so [test1@localhost~]$locatelibqsqlmysql.so /var/cache/abrt-di/usr/lib/debug/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.