qt连接mysql,自编译生成驱动文件

news2024/11/26 22:48:20

CMake+ninja编译qt所需的mysql驱动文件

想用qt连接mysql数据库,但是在qt6.0版本之后都不自带驱动需要自己编译,过程中由于不熟悉cmake以及ninja,踩了一百个坑,简单记录一下。

写在前面

csdn上也有很多大佬写得用cmake-gui来编译生成的, 但是比较繁琐,这里采用官方提供的方法,非常快捷。

步骤

新建文件夹

首先新建一个文件夹用于存放编译后的文件,我这里新建位置如下:
D:\Qt\build

命令行进入

cd D:\Qt\build

利用cmake和ninja来编译

cmake和ninja的安装就不说了,教程很多,推荐用git的方式,简单快捷。
安装完成后输入如下语句:
qt-cmake -G Ninja D:\Qt\6.4.2\Src\qtbase\src\plugins\sqldrivers -DMySQL_INCLUDE_DIR="G:\MySQL\mysql-8.0.32-winx64\include" -DMySQL_LIBRARY="G:\MySQL\mysql-8.0.32-winx64\lib\libmysql.lib" -DCMAKE_INSTALL_PREFIX="D:\Qt\6.4.2\mingw_64"

这句话总共有三部分需要注意:

  1. 紧跟在Ninja 后的为需要编译的路径,此处为D:\Qt\6.4.2\Src\qtbase\src\plugins\sqldrivers;
  2. -DMySQL_INCLUDE_DIR= 后跟mysql目录下的include文件夹,此处为"G:\MySQL\mysql-8.0.32-winx64\include";
  3. -DMySQL_LIBRARY=后跟mysql文件夹下lib文件夹中的libmysql.lib文件,此处具体路径为:“G:\MySQL\mysql-8.0.32-winx64\lib\libmysql.lib”

最后一部分有博主说可有可无,不会生效,亲测属实。

特别注意!!!!!:mysql的文件路径中不能带空格!我的mysql本来放在program files文件夹里,导致后续无法找到文件路径一直报错,又不容易一眼看出来,非常搞人心态。

还有注意!!!!!:系统环境变量里面除了qt安装的编译器最好不要再有其他的mingw编译器路径,否则也会报错

再次输入ninja即可在build文件夹的子文件中中得到驱动文件,路径为:build\plugins\sqldrivers
Ninja

放入对应文件夹

将驱动文件放入对应文件夹,路径为:D:\Qt\6.4.2\mingw_64\plugins\sqldrivers
在这里插入图片描述
另外还需要将mysql\lib文件夹中的如下两个文件放入Qt\6.4.2\mingw_64\bin目录中:
在这里插入图片描述
将qt creator关闭并重启,即可生效!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/332963.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营第43天DP动态规划62不同路径63 不同路径2

文章目录LeetCode 62不同路径题目讲解思路LeetCode 63 不同路径ii题目讲解思路小结LeetCode 62不同路径 题目讲解 思路 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 根据题意来看机器人只能进行向右…

单链表的基本操作

此代码不可运行,含伪代码。一、 定义数据域typedef struct{ char num[8];char name[8];int score;}ElemType;二、 定义一个链表typedef struct LNode{ElemType data; //链表中结点的数据域 struct Lnode *next; //为指向下一个结点的指针域,并且所指向的…

物理师知识大杂烩|CT模拟机质量控制指南

引言 放射治疗 CT 模拟机(computed tomography simulators, CT-Sim)由带有平板床面的 CT 扫描仪、用于患者定位与体表标记的外部激光系统、CT 模拟软件以及各种硬拷贝输出设备组成。CT 模拟机为放射治疗计划设计提供了患者肿瘤、正常组织与危及器官的影…

TMDSEVM6657LS评估板恢复出厂默认状态

TMDSEVM6657LS评估板恢复出厂默认状态 前言 TMDSEVM6657LS评估板特别适用于DSP开发的初学者,但有时候拿到手的开发板几经流转,被别人修改过,也可能自己烧录过程出错,导致开发板的状态未知等原因,需要恢复到出厂默认状…

Django的安装及创建项目

Django的安装及创建demo项目 打开PyCharm,选择创建Django项目勾选使用Virtualenv创建虚拟环境,并选择合适的Python编译器版本即可。 注:如果因为其他原因(没有关闭vpn等)也可以在PyCharm提供的terminal终端&#xf…

uni-app低成本封装一个取色器组件

在uni-ui中找不到对应的工具 后面想想也是 移动端取色干什么&#xff1f; 没办法 也挂不住特殊需求 因为去应用市场下载 这总东西 又不是很有必要 那么 下面这个组件或许能解决您的烦恼 <template><view class"content"><view class"dialog&…

侯捷C++系统工程师

前言我相信对于每一个学习C的同学和从业者来说&#xff0c;台湾著名学者侯捷老师的C系列都是不可错过的好视频。侯捷老师在网上已有五门课&#xff0c;分别是&#xff1a;C面向对象开发、STL标准库与泛型编程、C新标准C1&14、C内存管理机制以及C Startup揭秘讲师介绍侯捷老…

python基于django+vue的高铁地铁火车订票管理系统

目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 2.1 使用工具简介 4 2.2 环境配置 4 2.4 MySQL数据库 5 2.5 框架介绍 5 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.1.2技术可行性 6 3.1.3运行可…

pandas——DataFrame基本操作(二)【建议收藏】

pandas——DataFrame基本操作&#xff08;二&#xff09; 文章目录pandas——DataFrame基本操作&#xff08;二&#xff09;一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.修改数据2.缺失值3.合并1.concat合并2.使用append方法合并3.使用merge进行合并4.使用…

为什么实时ERP系统是唯一的出路?

长期以来&#xff0c;企业主不得不等待数天&#xff0c;有时甚至数周&#xff0c;才能获得财务和运营结果。今天&#xff0c;尤其是在我们可以使用高速计算机和实时技术的情况下&#xff0c;这绝不应该成为可接受的标准。 然而&#xff0c;太多的大牌ERP系统仍然使用批量处理…

2023年网络安全比赛--Web综合渗透测试中职组(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 1.通过URL访问http://靶机IP/1,对该页面进行渗透测试,将完成后返回的结果内容作为FLAG值提交; 2.通过URL访问http://靶机IP/2,对该页面进行渗透测试,将完成后返回的结果内容作为FLAG值提交; 3.通过URL访问http://靶机IP/3,对…

CDN绕过技术总汇

注 本文首发于合天网安实验室 首发链接&#xff1a;https://mp.weixin.qq.com/s/9oeUpFUZ_0FUu6YAhQGuAg 近日HVV培训以及面试&#xff0c;有人问了CDN该如何绕过找到目标真实IP&#xff0c;这向来是个老生常谈的问题&#xff0c;而且网上大多都有&#xff0c;但是有些不够全面…

中国网站安全形式风险报告

声明 本文是学习2017中国网站安全形势分析报告. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 网站漏洞检测分析 网站漏洞的整体形势可以从两个角度分析&#xff1a;一是网站安全检测的自动扫描结果统计&#xff0c;二是网站被报告漏洞情况的统计。…

FreeRTOS队列 | FreeRTOS九

目录 说明&#xff1a; 一、队列简介 1.1、什么是队列 1.2、队列的优势 1.3、队列实现功能 1.4、队列使用了解 1.5、队列特点 1.6、队列阻塞处理 1.7、队列出队入队过程 二、队列结构体 2.1、结构体了解 2.2、共同体了解 2.3、队列结构体存储区 三、队列API函数 …

nacos配置中心搭建

网站每次更新版本都有短暂暂停&#xff0c;影响用户使用&#xff0c;返回经常不可用&#xff0c;需要改进 需要实现高可用&#xff0c;搭建负载均衡&#xff0c;实现jenkinsnacos不停机部署 nacos搭建预备环境准备 64 bit OS&#xff0c;支持 Linux/Unix/Mac/Windows&#x…

vue2.0项目第一部分

论坛项目后端管理系统服务器地址&#xff1a;http://172.16.11.18:9090swagger地址&#xff1a;http://172.16.11.18:9090/doc.html前端h5地址&#xff1a;http://172.16.11.18:9099/h5/#/前端管理系统地址&#xff1a;http://172.16.11.18:9099/admin/#/搭建项目vue create . …

JavaScript 变量提升

文章目录JavaScript 变量提升JavaScript 初始化不会提升在头部声明你的变量JavaScript 变量提升 JavaScript 中&#xff0c;函数及变量的声明都将被提升到函数的最顶部。 JavaScript 中&#xff0c;变量可以在使用后声明&#xff0c;也就是变量可以先使用再声明。 以下两个实…

前端面试题汇总

一&#xff1a;JavaScript 1、闭包是什么&#xff1f;利弊&#xff1f;如何解决弊端&#xff1f; 闭包是什么&#xff1a;JS中内层函数可以访问外层函数的变量&#xff0c;外层函数无法操作内存函数的变量的特性。我们把这个特性称作闭包。 闭包的好处&#xff1a; 隔离作用…

三、Linux文件 - Close函数讲解实战,文件权限

目录 1.Close函数 2.Linux文件权限 3.项目实战 3.1Close 项目实战1 3.2 文件权限项目实战 -Open函数设置权限 1.Close函数 参数说明 在Linux系统库的定义&#xff1a; int close(int fd) 包含的头文件 #include <unistd.h> 功能就是简单的关闭文件 注&#x…

荧光素标记PEG衍生物Fluorescein-PEG-Acid,FITC-PEG-COOH

英文名称&#xff1a;FITC-PEG-COOH&#xff0c;Fluorescein-PEG-Acid 中文名称&#xff1a;荧光素-聚乙二醇-羧基 荧光素标记的聚乙二醇PEG衍生物的荧光波长为495 nm&#xff0c;发射大约515 ~ 520 nm处有最大吸收。FITC组可以很容易地从它的黄色和绿色荧光。额外的功能&…