zoukankan      html  css  js  c++  java
  • QSqlDatabase: QMYSQL driver not loaded 解决方法(debug下正常,release下报错)

    环境:

    QT 5.11

    Mysql 5.5

    MSVC 2015 编译器

    以上全为64位

    症状为:

    Debug下连接数据库正常,Release下连接数据库失败

    提示如下:

    QSqlDatabase: QMYSQL driver not loaded
    QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

    注意,这种情况下根本就不需要手动编译Mysql driver,因为Qt5.2版本后已经自带了

    按网上说的各种方法,到处粘贴dll,包括exe同级目录下,还有main下添加

    QApplication::addLibraryPath("./plugins");

    等...以及翻墙查看了各种方法,折腾一上午统统无效。

    最后解决方案:

    在MySQL官网https://dev.mysql.com/downloads/connector/c/

    下载mysql-connector-c

    (mysql-connector-c-6.1.11-winx64.msi)

    安装,然后在Qt项目中 .qrc 文件添加

    INCLUDEPATH += $$quote(C:Program FilesMySQLMySQL Connector C 6.1include)
    LIBS += -L$$"C:Program FilesMySQLMySQL Connector C 6.1lib"

    清除,重新qmake,构建,打开发现依然失败,而debug下还是成功。

    辗转无果,最后删除项目的release文件夹,重新release下构建,运行,成功。

    然后打包发布,把connector文件夹里的libmysql.dll复制,粘贴到exe同级目录下,运行,一切正常。

    可以开心地玩耍Qt了。

  • 相关阅读:
    .net 设置默认首页
    MySQL如何对数据库状态值指定排序
    golang将mm-dd-yy的字符串转时间格式
    Nginx文件解析
    Git使用笔记
    批量导入实现逻辑
    golang字符串截取
    golang格式化代码
    golang获取某一年某一月份的开始日期和结束日期
    nslookup install
  • 原文地址:https://www.cnblogs.com/seanliao/p/9128702.html
Copyright © 2011-2022 走看看