Featured image of post Qt构建qsqlmysql.dll

Qt构建qsqlmysql.dll

利用Qt源码构建qsqlmysql.dll

这篇文章我打算来介绍一下如何构建qsqlmysql.dll,由于版权原因,在新版的Qt里是不自带该dll的,这样对我们编写数据库程序会很麻烦。(你用ODBC?那没事了)

我在网上也查了很多资料,但根据步骤来总是会报错,提示没有mysql.h这个头文件。下面就记录一下我成功编译的过程。

# 基于cmake的步骤

在6.1之后的Qt版本中,Qt公司删除了qmake而更换成了cmake的方式来构建项目文件,下面就是我总结的使用cmake生成的方法。

注意: 路径的前段部分(软件的安装位置)每个人可能都不一样,但是路径的后段部分应该是一样的,请自行修改。

1.准备好Qt的源代码,如果没有可以在Qt的安装目录打开MaintenanceTool.exe启动Qt组件管理,在里面勾选Src把源码下载下来。

2.打开cmake-gui,选择目标文件夹为D:\Qt\6.1.1\Src\qtbase\src\plugins\sqldrivers,并设置生成文件夹为D:/Qt/6.1.1/Src/qtbase/src/plugins/sqldrivers/build

配置文件夹

3.点击左下角的Configure,会提示生成的目录不存在是否创建,直接点是就可以了。

4.编译器这里选择MinGW Makefiles,然后点击Finish

选择编译器

5.等待生成完成后,把FEATURE_sql_mysql后面的勾勾上,然后把其余的FEATURE_sql后面的勾取消。

选择生成模块

6.再次点击左下角的Configure,可以发现上面的红框已经消失了,说明配置成功了。然后点击Generate,生成Makefiles

配置成功

7.这时配置文件已经构建完成了,接下来就是生成dll了,打开PowerShell切换目录至D:/Qt/6.1.1/Src/qtbase/src/plugins/sqldrivers/build,输入mingw32-make开始编译生成dll。

编译成功

没有报错,说明生成成功。

8.最后打开目录D:\Qt\6.1.1\Src\qtbase\src\plugins\sqldrivers\build\plugins\sqldrivers,就可以看到生成好的qsqlmysql.dll了。

# 基于qmake的步骤

注意: 路径的前段部分(软件的安装位置)每个人可能都不一样,但是路径的后段部分应该是一样的,请自行修改。

1.准备好Qt的源代码,如果没有可以在Qt的安装目录打开MaintenanceTool.exe启动Qt组件管理,在里面勾选Src把源码下载下来。

2.进入D:\Qt\6.0.3\Src\qtbase\src\plugins\sqldrivers目录下,打开sqldrivers.pro这个文件。

3.在左侧文件树中打开mysql文件夹,选择mysql.pro打开。

4.修改里面的内容:

  • 注释掉QMAKE_USE += mysql这一句

  • 增加下面三行代码(注意把D:/MySQL/改为你MySQL的安装路径):

    1
    2
    3
    
    LIBS +=-LD:/MySQL/lib -llibmysql
    INCLUDEPATH += D:/MySQL/include
    DEPENDPATH += D:/MySQL/include
    

5.点击Qt左下角的小锤子进行构建,不出意外的话就可以在D:\Qt\6.0.3\Src\qtbase\src\plugins这个路径下看到build开头的文件夹,在.\plugins\sqldrivers目录下就能看到编译好的dll了。

6.最后将qsqlmysql.dll放入D:\Qt\6.0.3\mingw81_64\plugins\sqldrivers\里就行了。如果链接数据库时还报错,就把libmysql.dll复制到Qt的编译器的D:\Qt\6.0.3\mingw81_64\bin\目录。

Licensed under CC BY-NC-SA 4.0
最后更新于 2021-06-19 10:10:00