首页 > 数据库 >QT5.15.2 连接MySQL 驱动问题解决方案,无论菜鸟️还是老鸟,解决了就是好鸟

QT5.15.2 连接MySQL 驱动问题解决方案,无论菜鸟️还是老鸟,解决了就是好鸟

时间:2024-11-20 13:57:49浏览次数:1  
标签:QT5.15 QT 菜鸟 mysql MySql MySQL include 老鸟 Softwares

最近在学QT,现在QT只能在线安装了,用了几天,看到数据库时,需要用MySQL,结果出现了问题。

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7、Sql connect failed、"Driver not loaded Driver not loaded"

网上找到很多资料,最终圆满解决,以下资料为本人亲自处理过程,现分享给大家!

 

一.如果连接时出现

“SSL connection error: protocol version mismatch QMYSQL: Unable to connect

    表示:高版本的客户端连接到低版本的MySql Server

    解决方法: 服务器配置中 跳过 SSL

    -----------------------------------------------------

例:MySql 安装的 5.7 Server

   WINDOWS服务中找到 MySQL57--属性

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57

我们就要修改这个文件 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 文件

编辑这个文件:在文件的尾部加上

# disable_ssl

skip_ssl

二.使用QT连接MySQL的过程中出现:

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7、Sql connect failed、"Driver not loaded Driver not loaded"

表示:没有驱动(或驱动不匹配)

解决方法:编译QT中的mysql驱动

例:(安装的QT中有这个项目)

  D:\ProgramFiles\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro

         1).下载mysql-connector-c-6.1.11-win32.zip和mysql-connector-c-6.1.11-winx64.zip 驱动,官网上有。

解压到如:D:\Softwares\QT\MySql\mysql 和D:\Softwares\QT\MySql\mysql64

         2).用QT打开项目: D:\ProgramFiles\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro

mysql.pro修改如下(32,64位编译做启用注释即可):

上面引用 了  include(../qsqldriverbase.pri)  ,这个文件也要改一下qsqldriverbase.pri

 

文件1:qsqldriverbase.pri内容

 QT  = core core-private sql-private

     # For QMAKE_USE in the parent projects.

# include($$shadowed($$PWD)/qtsqldrivers-config.pri)

include(./configure.pri)

     PLUGIN_TYPE = sqldrivers

load(qt_plugin)

     DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

   文件2:mysql.pro内容

 D:\ProgramFiles\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro文件内容(参考)

 TARGET = qsqlmysql

 HEADERS += $$PWD/qsql_mysql_p.h

SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

 #QMAKE_USE += mysql

 OTHER_FILES += mysql.json

 PLUGIN_CLASS_NAME = QMYSQLDriverPlugin

include(../qsqldriverbase.pri)  

#针对 windows 32 位系统

# LIBS +=$$quote(D:/Softwares/QT/MySql/mysql/lib/libmysql.lib)

# INCLUDEPATH +=$$quote(D:/Softwares/QT/MySql/mysql/include)

# DEPENDPATH +=$$quote(D:/Softwares/QT/MySql/mysql/include)

# DESTDIR = d:/mysqllib

#针对 windows 64 位系统

LIBS +=$$quote(D:/Softwares/QT/MySql/mysql64/lib/libmysql.lib)

INCLUDEPATH +=$$quote(D:/Softwares/QT/MySql/mysql64/include)

DEPENDPATH +=$$quote(D:/Softwares/QT/MySql/mysql64/include)

DESTDIR = d:/mysqllib64

 

上面正常构建后D:\mysqllib 和D:\mysqllib64 下会生成文件

qsqlmysql.dll

qsqlmysql.dll.debug

 

32位的 由D:\mysqllib  复制到D:\ProgramFiles\Qt\5.15.2\mingw81_32\plugins\sqldrivers

62位的 由D:\mysqllib64  复制到D:\ProgramFiles\Qt\5.15.2\mingw81_64\plugins\sqldrivers

 

另外 libmysql.dll库文件也需要复制:

32位:

   由D:\Softwares\QT\MySql\mysql\lib\libmysql.dll 复制到D:\ProgramFiles\Qt\5.15.2\mingw81_32\bin

62位:

   由D:\Softwares\QT\MySql\mysql64\lib\libmysql.dll 复制到D:\ProgramFiles\Qt\5.15.2\mingw81_64\bin 

 

上述完成了,重启QT,再打开项目进行测试即可.

祝你好运! 

 

标签:QT5.15,QT,菜鸟,mysql,MySql,MySQL,include,老鸟,Softwares
From: https://www.cnblogs.com/bluejade/p/18556703

相关文章

  • 从校招生到项目经理,菜鸟如何开展项目管理
    作者:京东零售顾潇逸“管理是一种实践,其本质不在于知,而在于行”——彼得·德鲁克作为一名初入职场的校招生,你是否有过这样的疑问:项目经理究竟扮演着怎样的角色?是老板的传声筒,单纯地传达上级的指令?还是团队的监工,专注于监督和追踪每个人的工作进度?抑或是项目的一块砖,哪里需要哪里......
  • Linux系统编译QT5.15.0及串口问题
    编译流程:1>下载QT源码源码的下载可以到qt的官网http://www.qt.io/download/ 2>解压tarxvfqt-everywhere-src-x.x.x.tar.gz注意后缀和解压方式3>配置 ./configure进行环境配制。4>编译执行make编译,时间长,大概在三四个小时左右。5>安装sudomakeinstall需要5分钟......
  • Stable Diffusion教程|SD WebUI必备插件教程 菜鸟轻松成高手第二期Free U插件
    今天要给大家介绍一款进阶插件——FreeU。这个插件是一个很有意思的插件,可以为生成出来的图片在底噪上进行调整从而展现出完全不同的风格,以下是具体的使用教程。在教程开始前要事先申明,本教程的使用是建立在使用算网云平台SDWebuiforge镜像的基础上,如果使用秋叶安装包则不......
  • 从菜鸟到专家,网络安全工程师必备证书,如何报考?
    网络空间的竞争,归根结底是人才的竞争。在2022年网络安全周上,《网络安全人才实战能力白皮书》正式发布。数据显示,到2027年,我国网络安全人员缺口将达327万,而高校人才培养规模仅为3万/年。那么,如果你想要进入人才稀缺的网络安全行业,从一名菜鸟成长为一位“老司机”,都要考哪些......
  • 当下最好的Java做人工智能应用的开源框架-Spring AI alibaba介绍-含免费的菜鸟入门教
    在过去,Java缺乏一个统一且高效的AI应用框架,这导致开发者在使用不同AI提供商(如OpenAI、Azure或阿里云)时需要频繁地调整代码和接口适配。现在有了Spring团队推出的springAI,他能够很好的解决上面的问题,本文会先介绍一下springai这个应用框架的核心能力和功能。 然后再用s......
  • 二进制菜鸟的杂谈-调试与pwn
    反调试技术NLFlagGlobalPEB的偏移当被调试的时候会有标志位:FLG_HEAP_ENABLE_TAIL-CHECK()FLG_HEAP_ENABLE_FREE_CHECK()FLG_HEAP_VALIDATE_PARAMETERS()一般为:moveax,fs:[30h]moval,[eax+68h]moval,70hcmpal,70h其实是因为isDebugger被检测到了进而影响......
  • 程序员必看!从菜鸟到专家你要这么做,8年互联网老兵爆肝总结
    “互联网行业工作8年多,在国内Top互联网大厂B(ytedance)AT中的两家待过。喜欢研究计算机基础原理,有移动端全栈(包括Android&iOS&鸿蒙等)开发经验,对逆向和网络安全有一定经验。”不管是在校大学生,还是初入职场的菜鸟,抑或是在互联网行业打拼多年的老码农,相信这篇文章都能对你有所......
  • HTML奇幻之旅:从菜鸟到大神的魔法秘籍
    HTML奇幻之旅:从菜鸟到大神的魔法秘籍欢迎踏上这趟HTML的奇幻之旅!在这篇博客中,我们将以幽默轻松的方式,深入浅出地探索HTML的每个角落。从基础语法到高级技巧,从具体实例到数据可视化分析,我们将一步步揭开网页设计的奥秘。无论你是编程新手,还是希望提升技能的老手,都能在这里找......
  • 菜鸟笔记之pwn工具篇--pwntools库的基本使用
    啥是pwntools?Pwntools是一个用于漏洞利用和二进制分析的Python库,广泛应用于安全研究、渗透测试和竞争性编程(如CTF,CaptureTheFlag)中。它为用户提供了一套强大的工具和功能,以简化与二进制文件的交互、网络通信以及各种常见任务的执行。简而言之,pwntools可以说是pwn手必备的......
  • 菜鸟笔记之pwn工具篇--Pwndbg基础使用
    什么是pwndbg?它是gdb的一个插件,增加了许多功能,来帮助pwn手可以快速寻找到所需要的信息,除了pwndbg之外还有peda、gef等工具可以用来协助进行调试。如何给pwndbg分屏?vim~/.gdbinitsetcontext-output/dev/pts/2#这里修改成2,那么就会在第二个终端显示信息pwndbg的基础操......