Qt5.4以上版本使用MySQL数据库(避免各种坑)
来源:互联网 发布:coc法师塔升级数据 编辑:程序博客网 时间:2024/05/02 04:56
[0]为什么要强调5.4以上版本呢?因为我的Qt是这个版本,它已经装好了MySQL驱动.其他版本的不清楚.
[1]安装Qt的时候我们一定要勾选源码,或者全部安装也可以,这样才会有Src目录,这是接下来要用到的.
[2]安装MySQL的时候不要用默认安装的路径,那个里面有空格(比如/program[ 我是空格]files/…),Qt好像不能识别.
[3]最好使用.zip的MySQL进行安装,用命令行配置安装也比较简单.还有一个坑….5.7.11以上版本的MySQL如果是MIS版本的,好像没有让你自己选择安装路径的选项.我找了很久都没有找到.5.6几的版本好像有.所以最好还是.zip格式的.
[4]下面进入正题:
如果我们直接使用MySQL,会出现dirver not lodaed的错误,但是available drivers里面确实有QMYSQL,这个让人很困惑.其实我们还需要用Qt对MySQL进行编译,得到两个dll文件,然后替换掉Qt里面的相应.dll文件,这样Qt才能使用.
(1)切换到Qt的源码目录
...\ Qt5.4.2\qtbase\src\plugins\sqldrivers\mysql\
前面没有选择源码 的就找不到这个mysql.
(2)然后生成makefile文件
具体路径看你自己的安装位置了,不要有空格
qmake "INCLUDEPATH+=...\MySQL-Win32\include" "LIBS+=...\MySQL-Win32\lib\libmysql.lib" -o Makefile mysql.pro
这样就会生存成三个makefile文件,注意,如果你的mysql.pro没有多出来"INCLUDEPATH+=D:\MySQL-Win32\include" "LIBS+=D:\MySQL-Win32\lib\libmysql.lib"
两行,手动添加到mysql.pro文件里面去(用文本编译器打开,notepad++不错).否则接下来编译会出错.
最后进行编译,网上很多教程让我们用visual studio的命令提示符来进行编译,使用nmake,但是在我这里就一直出一些乱七八糟的错误,我用ming32w-make进行编译就可以正确的生成需要文件.
编译中如果出现了错误,请仔细阅读然后google之.
================编译成功====================
成功编译后将会在….\qtbase\plugins\sqldrivers生成mysql的驱动文件。复制qsqlmysql.dll和qsqlmysqld.dll到D:\Qt\Qt5.4.1\5.4\mingw491_32\plugins\sqldrivers替换原来的文件。再把….\MySQL-Win32\lib\libmysql.dll复制到C:\Windows目录下。ok,成功了.
1 0
- Qt5.4以上版本使用MySQL数据库(避免各种坑)
- Qt5.2使用MySQL数据库
- Mysql数据库5.7以上版本免安装版本配置
- Qt5.5连接Mysql数据库(数据库版本为5.5)
- Qt5.8以上版本编译Oracle数据库的OCI驱动教程
- Qt5.8以上版本编译Oracle数据库的OCI驱动教程
- 解决Qt5.2及以上版本无法连接64位mysql问题
- 解决QT5.2及以上版本连接mysql提示QMYSQL driver not download 问题
- linux下使用qt5.7及其以上版本的虚拟键盘,支持中英文输入法
- 在ubuntu下使用Qt5.4连接mysql数据库出现错误
- QT5.0及其以上版本,<QApplication>出错的原因
- QT5.0以上版本 incomingConnection不能被调用的解决方案
- hibernate 5 与 mysql 5.7 以上 版本的 坑
- Qt5.5 使用smtp发邮件的各种坑
- mysql和postgreSQL数据库各种版本的源代码下载地址
- Qt5.2 连接MySQL数据库
- QT5.3连接mysql数据库
- qt5.5连接mysql数据库
- Linux chattr --配置文件案隐藏属性
- 统计中文分词(最大熵)
- Android Studio 的JavaDoc 工具使用
- 不注意七大问题,简历最容易没回音
- Xcode遇到couldn’t be opened because you don’t have permission to view it.解决方法
- Qt5.4以上版本使用MySQL数据库(避免各种坑)
- 使用Cornerstone同步后,点击运行,提示“couldn't load project”,以及解决冲突
- Linux chgrp --修改文件或目录的所属群组
- png数据格式包括长度_超白痴向
- 自定义tabBar如何移除系统自带的TabBarItemButton
- Qt 示例学习--1. 1 qml实现list
- android Handler原理
- Linux chkconfig --查询/修改系统服务的运行级别
- Qt标准对话框之QMessageBox