qt连接mysql,自编译生成驱动文件
创始人
2024-05-23 16:56:45

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关闭并重启,即可生效!

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...