热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Windows10Qt5.13.1连接mysql,不考虑Qt和MySQL的bit

Windows10Qt5.13.1连接mysql,不考虑Qt和MySQL的bit,Go语言社区,Golang程序员人脉社

借鉴了很多博客,在此对各位博主表示感谢!我又来踩坑了。

今天我来总结一下Windows 10 下 Qt 5.13.1 连接mysql数据库,驱动未加载的解决办法。(实践出真知)

没错,就是这个熊样。之前我用ODBC桥接MYSQL的办法解决了Qt与MySQL的连接问题,不过那种办法并不理想,涉及多个数据库,多个表时,处理起来非常麻烦。

网络上,各种复制粘贴dll文件的方法,如果你尝试了,成功了,证明你运气是真的好。小编的脸可能真是“黑不溜秋”。上次解决连接问题就用了好几天。这次,很幸运的是找到了病根。各种不如意就不多说了,下面开始,来点干货儿。

上边对话框提示的问题可以通过手动编译Qt的MySql数据库驱动来解决。

突然发现,编译qt的mysql驱动并不是那么难。

安装完最新版(相对目前而言)Qt以后,简单敲一个测试的程序,打印qt自带的数据库驱动,你会发现列表中并没有QMYSQL的字样。

qDebug()<

输出结果大概是这个样子:

("QSQLITE", "QODBC", "QODBC3", "QPSQL", "QPSQL7")

没有MYSQL驱动不代表Qt不支持MySql数据库。所以当你想使用MySql数据库的时候,就要自己编译Qt的MySql的驱动了。

补充:安装Qt时别忘了把源码那一项勾选上。否则要重新安装Qt或者单独下载源码喽。

编译步骤如下:

一.打开Qt的源码的mysql驱动所在夹

以我的安装目录为例:F:Qt5.13.1Srcqtbasesrcpluginssqldriversmysql

二.用Qt Creator打开mysql.pro文件

 

三.更改.pro文件内容如下:

TARGET = qsqlmysql HEADERS += $$PWD/qsql_mysql_p.h SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp //QMAKE_USE += mysql //注释掉,否则报错 OTHER_FILES += mysql.json PLUGIN_CLASS_NAME = QMYSQLDriverPlugin include(../qsqldriverbase.pri) INCLUDEPATH +="D:/MySQL/include" //MySQL安装路径中的include夹的路径 LIBS+="D:/MySQL/lib/libmysql.dll" //MySQL安装路径中的lib夹下的libmysql.dll库文件 DESTDIR = ../mysql/libmysql/ //该语句是输出文件的路径,即编译好的mysql驱动的路径

四.编译当前项目

生成了如下目录

五.复制生成目录下的驱动文件以及之前的库文件到指定夹下

1.复制生成目录(F:Qt5.13.1Srcqtbasesrcpluginssqldriversmysqllibmysql)的全部文件:

到Qt的编译器lib路径(F:Qt5.13.1mingw73_64pluginssqldrivers)下。

2.复制MySQL安装目录下的库文件(D:MySQLlib)中的:libmysql.dll 以及 libmysql.lib 到(F:Qt5.13.1mingw73_64bin)目录下。

3.若是高版本(bin目录有下边的文件就复制)MySQL,则另外复制库文件(D:MySQLbin)中的:libeay32.dll 以及 ssleay32.dll 到(F:Qt5.13.1mingw73_64bin)目录下。

 

OVER

此时可以创建一个简单的测试程序测试一下了。(附上核心代码)

//打印支持的数据库,即Qt支持的数据库驱动 qDebug()<

 编译时选择mingw-64编译器。或者你可以将后几步的复制操作延伸到你所有的编译器夹下。

效果图

到此教教程就结束了。

最后希望大家多踩一些“坑”,有些坑是一个程序员必经的转折,吃亏还是要趁早滴。

 


推荐阅读
author-avatar
sensor
这个家伙很懒,什么也没留下!
RankList | 热门文章