windows下QT4.8.6编译mysql5.7驱动
由于QT4版本没有自带编译好的mysql驱动,只自带了sqlite等驱动,因此需要自行编译驱动。
QT5之后的版本貌似都有自带mysql驱动。
QT版本:
Mysql版本:
注意:此处用的是msvc(x86),因此mysql也应该是32位的。之前没注意版本的匹配,导致编译出错。
编译步骤:
1、下载并安装QT和Mysql,此处不做详细介绍
2、将mysql中的lib和include文件夹拷贝放到没有空格的路径中(如果有空格,qmake时会报错),如:C:\Users\Administrator\Desktop\mysql
3、将lib目录下的libmysql.dll拷到system32文件夹中,如:C:\Windows\System32
4、使用命令提示符进入qt源文件目录,如:D:\QT\4.8.6\src\plugins\sqldrivers\mysql
5、执行qmake –o Makefile INCLUDEPATH+=”……\mysql\include” LIBS+=”……\mysql\lib\libmysql.lib” mysql.pro(注意:此处是你刚刚建立的目录路径,不能写错,否则在编译时将找不到相关的lib文件等),此处会在源目录下生成相关文件,如:Makefile
6、打开VS命令提示窗口,在源码目录下执行nmake
7、错误处理
7.1、错误类型:fatal error C1083:无法打开包括文件:”qsql_mysql.h”
此类错误一共有三个,根据错误提示分别修改对应的文件,如:
qsql_mysql.h中:
client_plugin.h中:
my_alloc.h中:
这三个文件均在刚建立的目录或者源码目录下,并将三者的路径均改为刚建立目录路径下对应的文件
7.2、继续nmake,错误类型:fatal error LNK1104:无法打开文件”……/libmysql.lib”
这是因为在qmake时路径没有写对的原因,将libmysql.lib复制到…\VS\VC\lib目录下,如:D:\Visual Studio\VS\VC\lib,然后重新qmake后nmake
8、编译成功
执行:nmake与nmake release分别在mysql源码目录下生成debug和release版本的驱动,如:
9、从上面两个文件夹中找出下面四个文件拷贝到如:D:\QT\4.8.6\plugins\sqldrivers目录下
到此mysql驱动就编译成功啦
资源下载:https://download.****.net/download/xumingyifrend/11256596
欢迎大家指教,希望大家喜欢
路漫漫其修远兮,同志仍须努力