Qt5.4以上版本使用MySQL数据库(避免各种坑)

[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,成功了.

你可能感兴趣的:(Qt5.4以上版本使用MySQL数据库(避免各种坑))