QT6.8 编译 MSVC2022-64位MySQL驱动
QT6.8没有编译MySql驱动,也没有.pro的项目文件,只能自己想办法编译,网上找了很多方法,终于找到了可以成功编译的方法,下面将我的编译过程详细记录如下:
[声明:本文为原创,未经允许,不得转载]
当前安装情况如下,安装了2个版本的QT:

QT6.8 msvc2022_64环境 D:\ProgramFiles\Qt\6.8.0\msvc2022_64\plugins\sqldrivers 是没有mysql驱动的,要将编译好的放在这里,QT开发时才可以正常运行,否则你的程序会提示:

下面我们开始编译:
一、前提条件
前提条件1:
MySQL 64位驱动,可到官网下mysql-connector-c-6.1.11-winx64.zip ,解压到某个文件夹,例如:
D:\Softwares\QT\MySql\mysql64

前提条件2:
CMake ,如果没安装可以使用Qt Maintenance Tool添加

安装完成后,你可以在Qt安装目录Tools目录下找到 CMake_64

前提条件3:
要安装 Visual Studio 2022 ,这里是用VS编译dll的
二、生成VS项目
看到上面的 cmake-gui.exe没有?我们用带界面应用生成VS工程

按以上选择目录,不要选错误,我们生成的是整个sqldrivers项目,并非只有 mysql,但我们生成后只用mysql
点击Configure弹出以下对话框 ,按照以下选择:

如果不能弹出对话框,请清除缓存 File—Delete Cache
点击Finish可能会出错

我们检查配置项目:
1).输入Qt ,看到Qt6_DIR,按以下配置目录

接着我们再点击 Configure
这时我们会看到中间的有很多自动配置了的选项

2).此时我们可以配置Mysql官网驱动目录了
按照以下 Search中输入 mysql,下方红色部分配置如下:

接着我们再点击 Configure

其它错误我们可以不用理会
接着我们再点击 generate

此时,build目录下就生成的vs的项目文件了

三、编译生成QT插件数据库驱动
看到上方QSQLiteDriverPlugins.sln文件,我们用 Visual Studio 2022打开

我们选择这个项目(QMYSQLDriverPlugin),点击右键—属性,将以下的配置检查修改一下(因为有可能编译出错)


然后在上方切换不同的方式去编译QMYSQLDriverPlugin项目

编译后我们在Build目录下 plugins\sqldrivers下可以看到生成的库文件

我们将上方选中的文件 复制到D:\ProgramFiles\Qt\6.8.0\msvc2022_64\plugins\sqldrivers 下
最后将D:\Softwares\QT\MySql\mysql64\lib\ libmysql.dll 复制到 D:\ProgramFiles\Qt\6.8.0\msvc2022_64\bin
大功告成!
四、后记
测试你的程序,要重启QT
我们对比一下前后应用程序的提示:
【前】

【后】

可用的驱动己经增加了2个 QMARIADB,QMYSQL
应用程序己可正常运行了!
QT6.8 编译 MSVC2022-64位MySQL驱动的更多相关文章
- PowerDesigner16.5 连64位MySQL,出错:SQLSTATE = IM014。原因及解决方案
- 在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动
由于我们开发的辅助工具Database2Sharp需要支持多种数据库,虽然我们一般使用SQLServer来开发应用较多,但是Oracle等其他数据库也是常用的数据库之一,因此也是支持使用Oracle等 ...
- vs2015编译boost 64位
---恢复内容开始--- step 1: 打开Developer Command Prompt for VS2015命令行窗口 step 2: 执行bootstrap.bat,产生bjam.exe s ...
- win8 64位 mysql安装 Configuration file my.ini error code -1
问题如题,解决方法: 1.由于目录中纯在中文,所以导致代码错误.故而把目录设置成全英文的. 2.下载64位mysql安装,安装32位mysql也会出现此问题.
- 【VS开发】【C/C++开发】vs2015编译boost 64位
vs2015编译boost 64位 ---恢复内容开始--- step 1: 打开Developer Command Prompt for VS2015命令行窗口 step 2: 执行bootstra ...
- InputFormat,OutputFormat,InputSplit,RecordRead(一些常见面试题),使用yum安装64位Mysql
列举出hadoop常用的一些InputFormat InputFormat是用来对我们的输入数据进行格式化的.TextInputFormat是默认的. InputFormat有哪些类型? DBInpu ...
- 编译本地64位版本的hadoop-2.6.0
官方提供的hadoop-2.x版本貌似都是32位的,在64位机子下使用可能会报错,最好使用官方提供的源码进行本地编译,编译成适合本地硬件环境的64位软件包. 关于native Hadoop是使用J ...
- 关于Win7 64位 mysql 5.7下载安装问题
1.从官网下载mysql: 网址:http://dev.mysql.com/downloads/mysql/ 这是我们要找的,win7 64位 点击下载: 出现如图所示,我们不必要登录注册,点击红线内 ...
- win10 64位 mysql安装过程出现status显示failed
mysql安装过程出现status显示failed,如下图: 由于我的电脑是64位系统,这里需要升级一个插件,即32位 visual C++ 2013 and visual C++ redistri ...
- windows编译openssl(64位)一游
编译openssl,一套标准流程: (环境: win10 64位os, vs2019) 需要的工具:perl nasm openssl源码包 1 安装perl 2 下载nasm,将n ...
随机推荐
- 移除 Parallels Access Sound 虚拟设备
在安装了 Parallels 之后,发现 Mac 没声音,打开声音设置一看音频输出设备被设为了 Parallels Access Sound.把输出设备调回 MacBook 扬声器就有声音了. 但是音 ...
- Linux 安装 TeX Live
安装新版本 cd /tmp # 下载安装压缩包 wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz # 解 ...
- 关于 MemoryStream 的多次写入,模拟post请求,接收方 .net core web api无法读取到流数据,报 System.IO.IOException: Unexpected end of Stream, the content may have already be en read by another component.
主要是业务不熟害死人.记录一下.真想抽自己几个嘴巴子 先说结论,知道这个结论的下面文字都是废话: 一.new MemoryStream 的时候,如果需要分次写入,只能是像下面这样子 MemoryStr ...
- Coursera, Big Data 5, Graph Analytics for Big Data, Week 4
Graph Analytics With Neo4j 讲了怎样用Cypher 脚本语言去操作 Neo4j, 包括加graph, 导入csv数据. 接着讲了一些neo4j 的基本操作. 最后讲的,pat ...
- [big data] main entry for Spark, Zeppelin, Delta Lake ...
1. 环境搭建 big data env setup 2. Spark 学习 spark 怎么读写 elasticsearch spark 怎么 连接 读写 ElasticSearch Spark 上 ...
- 事务TRANSACTION 1
MySQL事务是指一组SQL语句作为一个工作单元,同生共死.类似JS中的Array.prototype.every方法 事务的特点 原子性(Atomicity):即事务中的SQL像原子一样牢不可破,无 ...
- MybatisPlus——DML编程控制——增删改
DML编程控制 id生成策略控制 不同的表应用不同的id生成策略 日志:自增(1,2,3,4,......) 购物订单:特殊规则(FQ23948AK3843) 外卖单:关联地区日期等信息(10 04 ...
- 祝福 Eric 的下一段旅程,Flutter 3.3 现已发布
Flutter 团队及社区成员们在美丽的城市挪威奥斯陆向您发来问候,我们正在此参加社区举办的 Flutter Vikings 活动,这是一个为期两天的开发技术交流盛会,虽然线下门票已经售罄,但您还可以 ...
- 【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境导入为 VI 域。
VCF Import Tool 工具使用两种方式来帮助客户将现有的 vSphere 或 vSphere + vSAN 环境转变为 VMware Cloud Foundation 环境,分别是转换(Co ...
- 获取sql语句
1.$model->_sql(); 方法实际执行的就是 $model->getLastSql(); 2.fetchSql fetchSql用于直接返回SQL而不是执行查询,适用于任何的CU ...