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驱动的更多相关文章

  1. PowerDesigner16.5 连64位MySQL,出错:SQLSTATE = IM014。原因及解决方案

  2. 在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动

    由于我们开发的辅助工具Database2Sharp需要支持多种数据库,虽然我们一般使用SQLServer来开发应用较多,但是Oracle等其他数据库也是常用的数据库之一,因此也是支持使用Oracle等 ...

  3. vs2015编译boost 64位

    ---恢复内容开始--- step 1: 打开Developer Command Prompt for VS2015命令行窗口 step 2: 执行bootstrap.bat,产生bjam.exe s ...

  4. win8 64位 mysql安装 Configuration file my.ini error code -1

    问题如题,解决方法: 1.由于目录中纯在中文,所以导致代码错误.故而把目录设置成全英文的. 2.下载64位mysql安装,安装32位mysql也会出现此问题.

  5. 【VS开发】【C/C++开发】vs2015编译boost 64位

    vs2015编译boost 64位 ---恢复内容开始--- step 1: 打开Developer Command Prompt for VS2015命令行窗口 step 2: 执行bootstra ...

  6. InputFormat,OutputFormat,InputSplit,RecordRead(一些常见面试题),使用yum安装64位Mysql

    列举出hadoop常用的一些InputFormat InputFormat是用来对我们的输入数据进行格式化的.TextInputFormat是默认的. InputFormat有哪些类型? DBInpu ...

  7. 编译本地64位版本的hadoop-2.6.0

     官方提供的hadoop-2.x版本貌似都是32位的,在64位机子下使用可能会报错,最好使用官方提供的源码进行本地编译,编译成适合本地硬件环境的64位软件包. 关于native  Hadoop是使用J ...

  8. 关于Win7 64位 mysql 5.7下载安装问题

    1.从官网下载mysql: 网址:http://dev.mysql.com/downloads/mysql/ 这是我们要找的,win7 64位 点击下载: 出现如图所示,我们不必要登录注册,点击红线内 ...

  9. win10 64位 mysql安装过程出现status显示failed

    mysql安装过程出现status显示failed,如下图: 由于我的电脑是64位系统,这里需要升级一个插件,即32位 visual C++ 2013 and  visual C++ redistri ...

  10. windows编译openssl(64位)一游

    编译openssl,一套标准流程: (环境:  win10 64位os, vs2019) 需要的工具:perl     nasm   openssl源码包 1  安装perl 2  下载nasm,将n ...

随机推荐

  1. 【Python + Appium】之元素定位总结(更新)

    一.ID定位 uiautomatorviewer里面的:resource-id driver.find_element(By.ID,"com.csks.businesses:id/tv_nu ...

  2. Unity中利用遗传算法训练MLP

    Unity中利用遗传算法训练MLP 梯度下降法训练神经网络通常需要我们给定训练的输入-输出数据,而用遗传算法会便捷很多,它不需要我们给定好数据,只需要随机化多个权重进行N次"繁衍进化&quo ...

  3. 基于Service Worker实现WebRTC局域网大文件传输能力

    基于Service Worker实现WebRTC局域网大文件传输能力 Service Worker是一种驻留在用户浏览器后台的脚本,能够拦截和处理网络请求,从而实现丰富的离线体验.缓存管理和网络效率优 ...

  4. JS实现树形结构数据的模糊搜索查询

    简单示例: 需求:输入 "题2" 字,希望树形结构中带有 "题2" 字的项显示,即使父节点没有,但子节点含有,父节点仍要返回. let arr = [ { ti ...

  5. 前端项目通过 Nginx 发布至 Linux,并通过 rewrite 配置访问后端接口

    〇.前言 本文通过将 arco 框架的前端项目,部署至 CentOS 7,并访问同服务器的 WebAPI 接口,来简单演示一下,如何将前端项目发布至 Linux 系统. 关于 ASP.NET WebA ...

  6. SaaS架构:流程架构分析

    大家好,我是汤师爷~ 今天聊聊SaaS架构中的流程架构分析. 业务流程的概念 业务流程是企业为实现目标而制定的一套系统化的工作方法.它由一系列有序的业务活动组成,按照既定规则将资源(输入)转化为有价值 ...

  7. 2024年常用的Net web框架

    ASP.NET Core 框架声明:是微软推出的新一代开源.跨平台的 Web 应用框架,用于构建高性能.现代化的 Web 应用程序. 官网地址:https://dotnet.microsoft.com ...

  8. Windows安装winget

    打开GitHub链接地址:https://github.com/microsoft/winget-cli/releases 选择最新版本,点进去后 找到名为后缀名为 ".msixbundle ...

  9. 解决 Vue 项目打包上线后客户端缓存的问题

    由于重新打包后会导致对应的 js 和 css 文件 hash 值发生变化,客户端不刷新的话就会存在之前的文件找不到,导致报错的问题. 通过 build.sh 定义打包命令 #!/usr/bin/env ...

  10. KASAN 中kasan_multi_shot 的作用

    kasan_multi_shot 是 Linux 内核配置选项之一,与 Kernel Address Sanitizer (KASAN) 相关.KASAN 是一种内核内存错误检测工具,能够检测内核代码 ...