• 编译 qsqlmysql.dll QMYSQL driver not loaded


    Qt 连接MySQL数据库,没有匹配的qsqlmysql.dll, 需要我们跟进自己Mysql 以及QT版本自行编译的。异常如下图:

    安装环境为

    1. VS2019
    2. Qt5.12.12(msvc2017_64、以及源码) 我的安装地址:D:\Qt\Qt5.12.12
    3. Mysql 8.1.0  默认安装地址C:\Program Files\MySQL\MySQL Server 8.1

    步骤:

    step 1:

    找到 D:\Qt\Qt5.12.12\5.12.12\Src\qtbase\src\plugins\sqldrivers\mysql

    用Qt Creator 打开项目

    选择64bit configure project

    step2:

    修改mysql.pro 项目文件

    如图修改4处

    注释一行

    构建==》》build all project

    完成编译

    在D:\Qt\Qt5.12.12\5.12.12\Src\qtbase\src\plugins\sqldrivers\build-mysql-Desktop_Qt_5_12_12_MSVC2017_64bit-Debug\lib

    就可以得到生成的dll、lib、pdb文件

    step 3:

    将生产的qsqlmysql.dll、qsqlmysqld.dll文件copy到 D:\Qt\Qt5.12.12\5.12.12\msvc2017_64\plugins\sqldrivers  目录

    step 4:

    将C:\Program Files\MySQL\MySQL Server 8.1\lib

    以及C:\Program Files\MySQL\MySQL Server 8.1\bin添加到系统PATH中

    或者

    将C:\Program Files\MySQL\MySQL Server 8.1\lib下的libmysql.dll、libmysql.lib copy到

    D:\Qt\Qt5.12.12\5.12.12\msvc2017_64\bin 下

    step 5:

    测试demo程序

    #include
    #include
    #include
    #include
     
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
        //输出可用数据库
        qDebug() << "available drivers:";
        QStringList drivers = QSqlDatabase::drivers();
        foreach(QString driver, drivers)
            qDebug() << driver;

        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
        db.setHostName("127.0.0.1");
        db.setPort(3306);
        db.setDatabaseName("mysql");
        db.setUserName("root");
        db.setPassword("root");
        bool ok = db.open();
        if (ok) {
            qDebug() << "OK" << db.lastError().text();

        }
        else {
     
            qDebug() << "error open database because" << db.lastError().text();
        }


        return a.exec();
    }

  • 相关阅读:
    深度剖析数据在内存中的存储
    Python学习之-分支语句-基础训练
    文举论金:黄金原油全面走势分析策略独家指导
    php 遍历PHP数组的7种方式
    关于 Tomcat 启动时,解决控制台输出日志乱码问题的方案
    基于布谷鸟优化K均值的WSN分簇路由算法
    【JVM笔记】堆的核心概述与堆空间大小的设置与查看
    Redis理解
    获取某个抖音用户的视频列表信息
    项目需求分析5大常见问题及解决方案
  • 原文地址:https://blog.csdn.net/miehuo/article/details/136378901