您的位置:首页 > 编程语言 > Qt开发

Using MySQL in Qt5.7 on Windows

2017-01-20 11:20 344 查看

Using MySQL in Qt5.7 on Windows

最近有一个小项目要用到MySQL作为数据库。于是就试了一下Qt的MySQL的driver。先按照教程一步一步来。

在.pro中添加SQL库

QT += sql

添加头文件

#include < QSqlDatabase>

代码如下:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

db.setHostName("bigblue");

db.setDatabaseName("flightdb");

db.setUserName("acarlson");

db.setPassword("1uTbSbAs");

bool ok = db.open();


运行,得到以下结果:

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

嗯哼,这是几个意思?

去看Qt安装目录下面,qmysql.lib qmysql.dll这俩货都有啊,怎么还不支持了呢。

难道是我使用的姿势不对。好吧,那趴着用一下试试(Google)。

方案一

网上有人说你需要自己编译一下mysql的code。WTF,老子用你的IDE就是图方便,这怎么还需要自己编译了呢。算了还是按照这个来吧。

先把别人的帖子链接贴一下:Create MySQL driver for Qt5 on Windows.

步骤大致如下:

首先你要现在一个MySQL Community Server

然后进到Qt MySQL的source code目录,

\Qt\QT %version%\Sources\qtbase\src\plugins\sqldrivers\mysql\

执行一下command

qmake “INCLUDEPATH+=%mysql%\include” “LIBS+=%mysql%\lib\libmysql.lib” -o Makefile mysql.pro

mingw32-make

Copy qsqlmysql.dll and qsqlmysqld.dll from** \Qt\Qt%version%\Sources\qtbase\plugins\sqldrivers** to \Qt\%version%\5.0.1\mingw47_32\plugins\sqldrivers.

Copy libmysql.dll from %mysql%\lib to C:\Windows

按照上面的步骤,在第三步的时候出现了错误。

(⊙o⊙)…,蛋疼。然后,我他妈就把Qt重新装了一下。发现还是build失败

凸(艹皿艹 )了

失败了呢

方案二

后来又看到说qmysql.dll依赖于libmysql.dll。后一个是MySQL提供的。奥,既然qmysql.dll已经存在了,那应该是不是把libmysql.dll放在**C:\Windows**下面就可以了?

说干就干。放完之后,发现。┗|`O′|┛ 嗷~~ My God!!!! 依然是**QSqlDatabase: QMYSQL driver not loaded**。

艹了。

等等,mySQL的lib库里面怎么还有一个libmysql**d**.dll呢。难道这是debug版本。于是把这个libmysqld.dll libmysqld.lib一起放到C:\windows下面。

哈哈哈哈哈哈,居然成功了。吊炸天

**binggo**

解决方案

首先下载MySQL server版本,地址 http://dev.mysql.com/downloads/mysql/。 请一定要选择Windows (x86, 32-bit), ZIP Archive 这一个。install出来的版本不存在libmysqld.dll

解压之后把libmysqld.dll libmysqld.lib libmysql.dll libmysql.lib拷贝到C:/Windows下面即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql qt windows
相关文章推荐