QT之Mysql驱动

错误现象

找不到Mysql驱动
QSqlDatabase: QMYSQL driver not loaded

一、驱动查看

在程序中直接打印QT Creator中现有的驱动,打印方式如下:

qDebug() << "Database driver has: " << QSqlDatabase::drivers();

打印如下所示:

二、QT Creator中添加Mysql驱动

  1. 打开 mysql.pro 工程
    在路径“Qt5.12.9\5.12.9\Src\qtbase\src\plugins\sqldrivers\mysql”路径中可以找到,如下图所示:

  2. 更改mysql.pro文件,添加以下代码:

    #这个主要是添加.h依赖文件使用
    INCLUDEPATH += "C:\Program Files (x86)\MySQL\MySQL Server 5.7\include"
    #添加依赖的.lib文件
    LIBS += -L "C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib" -llibmysql
    #生成DLL文件的存放目录
    DESTDIR = ../mysql/mysqlDll

    如下图所示:

  3. 更改qsqldriverbase.pro文件,添加以下代码:

    #方便找到准确的qtsqdrivers-config.pro
    include(./configure.pri)

    如下图所示:

  4. 编译

    编译完成后,会在指定的路径下生成相应的.dll文件,如下图所示:

  5. 将生成的文件拷贝至QT Creator路径中
    将编译qsqlmysql.dll和qsqlmysqld.dll文件拷贝到Qt5.12.9\5.12.9\mingw73_32\plugins\sqldrivers文件中, 如下图所示:

  6. 将Mysql路径下的文件拷贝到QT creator路径中
    将MySQL\MySQL Server 5.7\lib路径下的libmysql.dll和libmysql.lib文件,拷贝到Qt5.12.9\5.12.9\mingw73_32\bin文件中,如下图所示:

  7. 重启QT Creator软件后,即可完成Mysql驱动的添加

注意:在添加Mysql过程中注意版本,32位和64位软件对应的路径也有差异。

三、linux环境下的QT驱动

在linux环境下缺少MySQL驱动时,处理办法和windows类似,只是路径稍微有点区别。在linux需要变成生成libqsqlpsql.so库文件

  1. 确保linux环境下已经安装mysql,安装方式如下

    sudo apt-get update
    sudo apt-get install mysql-server
  2. 在路径 "/opt/Qt5.12.9/5.12.9/Src/qtbase/src/plugins/sqldrivers/mysql" 中找到 mysql.pro 文件,如下图所示:

    注意: 自己的安装路径,不一定是在opt路径下

  3. 使用 sudo vim mysql.pro 更改mysql.pro文件,添加以下代码:

    #这个主要是添加.h依赖文件使用
    INCLUDEPATH += /usr/include/mysql
    #添加依赖的.lib文件
    LIBS += -L /usr/lib/x86_64-linux-gnu -lmysqlclient
    #生成DLL文件的存放目录
    DESTDIR = ../mysql/mysqlSO

    如下图所示:

  4. 在路径 "/opt/Qt5.12.9/5.12.9/Src/qtbase/src/plugins/sqldrivers" qsqldriverbase.pri 文件,添加以下类容

    #方便找到准确的qtsqdrivers-config.pro
    include(./configure.pri)

    如下图所示:

  5. 在路径 "/opt/Qt5.12.9/5.12.9/Src/qtbase/src/plugins/sqldrivers/mysql" 中进行编译,如下图所示

  6. 将编译生成的 libqsqlmysql.so 和 libqsqlmysql.so.debug 拷贝至 /opt/Qt5.12.9/5.12.9/gcc_64/plugins/sqldrivers 下,重启 QT Creator即可

  7. 编译过程中可能出现缺少mysql.h文件,在已经安装 mysql-server 的情况下,使用以下命令即可

sudo apt-get install libmysql++-dev

参考文献

QSqlDatabase QMYSQL driver not loaded 原因以及解决办法(总结):https://blog.csdn.net/Lvcxiao/article/details/118631612

posted @   浇筑菜鸟  阅读(2712)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示