qsqldatabase连接mysql_Qt连接MySQL出现QSqlDatabase: QMYSQL driver not loaded

当遇到QSqlDatabase QMYSQLDriver未加载的问题时,可以通过检查libqsqlmysql.so库是否存在并安装qt-mysql.i686来解决。如果Qt找不到库文件,可以将库路径添加到搜索路径中或者直接将libqsqlmysql.so复制到Qt的搜索路径下。确保正确配置库路径,以便Qt能够找到并加载MySQL驱动。
摘要由CSDN通过智能技术生成

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()<<: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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt程序中遇到 "QSqlDatabase: QMYSQL driver not loaded" 错误通常表示应用程序试图使用MySQL数据库功能,但是相应的Qt MySQL模块(QT_DBUS)没有成功加载或未被安装。这可能是由于以下几个原因: 1. **缺少库文件**:确保你的系统已经安装了QtMySQL的支持库,如`libQt5Qsql_mysql`。如果没有,需要从Qt官方网站下载并安装相应的插件。 2. **环境变量配置**:检查Qt项目的构建环境中,是否有设置指向MySQL数据库的路径,比如`QT_PLUGIN_PATH`可能需要包含MySQL插件目录。 3. **构建配置**:如果你是通过Qt Creator或者其他集成开发环境(IDE)创建的项目,确认是否在构建配置中选择了包含MySQL支持的模块。 4. **版本兼容性**:确保使用的Qt版本与MySQL驱动版本兼容,有时旧版驱动可能无法识别新版本的Qt。 为了解决这个问题,你可以按照以下步骤尝试: 1. **更新或重新安装Qt**: 确保你的Qt版本包含了MySQL支持。 2. **重新配置项目**: 在IDE中,确保正确的组件已选中,并配置好数据库连接信息。 3. **手动添加依赖**: 如果必要,可以手动将Qt MySQL模块添加到系统的动态链接库搜索路径。 4. **检查错误日志**:查看详细的错误信息,有时它会提供更具体的解决线索。 如果以上步骤仍无法解决问题,建议查阅官方文档或在线社区寻找解决方案,或者寻求专业技术人员的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值