Qt_环境搭建_qt编译mysql驱动和使用

1. 环境背景

  • win10 64位系统
  • qt开发工具: qt-windows-opensource-5.1.1-msvc2010_opengl-x86-offline.exe (注:安装的时候一定要安装源码)
  • qt插件: qt-vs-addin-1.2.3-opensource.exe
  • vs开发工具: VS2010UltimTrial.iso
  • vs补丁包: cn_visual_studio_2010_sp1_x86_x64_dvd_651704.iso
  • 数据库: mysql-5.5.21-win32.msi (数据库的安装百度很多)

2. 注意事项

  • mysql一定要和qt位数相同,比如这里mysql是32位的(win32),qt对应的也是32位(x86)
  • qt安装包一定要带源码的版本,要安装源码,不然没有mysql.pro文件就无法编译了
  • 这里所有的图片演示的都是msvc 32位编译器的效果,关于mingw 32编译器效果没有实践过,可能会有出入

3. 问题描述

  • qt中获取所支持的数据库驱动,发现没有QMYSQL数据库,所以加载QMYSQL数据库失败
  • QSqlDatabase: QMYSQL driver not loaded
  • QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
    在这里插入图片描述

4. 编译

4.1 编译前期准备

以下步骤均以我安装qt和数据库的目录做为示例,如果自己安装路径不同,请注意更改相关目录路径。

  1. 拷贝libmysql.dll 和libmysql.lib两个库
    在mysql数据库安装的目录下,拷贝C:\Program Files (x86)\MySQL\MySQL Server 5.5\lib文件夹下的libmysql.dll 和libmysql.lib文件,拷贝到qt安装源码所在目录C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql文件夹下,(说明:qt版本不同,目录可能会有点差别)
    在这里插入图片描述

  2. 编辑qt源码目录下的mysql.pro文件
    文件在C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql文件夹下,用notepad++或者记事本等打开该文件,在文件中两行:
    INCLUDEPATH += “C:/Program Files (x86)/MySQL/MySQL Server 5.5/include”
    LIBS += “C:/Program Files (x86)/MySQL/MySQL Server 5.5/lib/libmysql.lib”
    在这里插入图片描述

记得保存后退出。

注意:如果使用的是mingw-32编译器,则静态库连接需改成如下:
LIBS += “C:/Program Files (x86)/MySQL/MySQL Server 5.5/lib/ -llibmysql”

4.2 编译过程

  1. 以管理员权限运行qt自带的控制台窗口
    这里qt版本不同,可能自带的控制台名字不一样
    在这里插入图片描述在这里插入图片描述2. cd到qt源码目录的mysql下
    这里是切换到C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql

在这里插入图片描述

  1. 执行qmake
    执行后,会在C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql路径下生成一些新的编译过程的文件
    在这里插入图片描述

注意:这里如果是mingw-32编译器,则不需要关闭qt控制台窗口,请跳到第6点查看注意事项

  1. 以管理员权限运行vs2010命令提示符窗口(Visual Studio Command Prompt(2010))

在这里插入图片描述

  1. cd到qt源码目录的mysql下
    这里是切换到C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql
    在这里插入图片描述

  2. 执行nmake或者nmake release

命令介绍

命令作用
nmake编译生成debug和release版本的mysql驱动文件,qsqlmysql.dll和qsqlmysql.lib是release版本的,qsqlmysqld.dll和qsqlmysqld.lib是debug版本的
nmake release编译生成release版本的mysql驱动文件,即qsqlmysql.dll和qsqlmysql.lib

执行后会在qt源码安装目录C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\plugins\sqldrivers文件夹下生成对应的驱动文件
在这里插入图片描述

注意:我这里使用的是msvc 32位编译器,如果使用的mingw-32编译器,则在上述第3点qmake结束后,不用退出qt控制台窗口,接着输入mingw-32 make或者make即可,生成的是.dll和.a文件,这里具体我也没测试过,参考的百度这篇文章

5. 使用前准备

  1. 将上述生成的文件qsqlmysqld.dll、qsqlmysqld.lib、qsqlmysql.dll和qsqlmysql.lib驱动文件都拷贝到qt的C:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\plugins\sqldrivers文件夹下
    在这里插入图片描述

  2. 另外拷贝一份C:\Program Files (x86)\MySQL\MySQL Server 5.5\lib文件夹下的libmysql.dll到C:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\bin文件夹下。
    在这里插入图片描述

6. 测试

写个qt控制台程序,测试mysql数据库是否可以正常连接
在这里插入图片描述

7. 参考文献

百度的文章

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值