天天看点

windows下QT4.8.6编译mysql5.7驱动

由于QT4版本没有自带编译好的mysql驱动,只自带了sqlite等驱动,因此需要自行编译驱动。

QT5之后的版本貌似都有自带mysql驱动。

QT版本:

windows下QT4.8.6编译mysql5.7驱动

Mysql版本:

windows下QT4.8.6编译mysql5.7驱动

注意:此处用的是msvc(x86),因此mysql也应该是32位的。之前没注意版本的匹配,导致编译出错。

编译步骤:

1、下载并安装QT和Mysql,此处不做详细介绍

2、将mysql中的lib和include文件夹拷贝放到没有空格的路径中(如果有空格,qmake时会报错),如:C:\Users\Administrator\Desktop\mysql

windows下QT4.8.6编译mysql5.7驱动

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

windows下QT4.8.6编译mysql5.7驱动
windows下QT4.8.6编译mysql5.7驱动

6、打开VS命令提示窗口,在源码目录下执行nmake

windows下QT4.8.6编译mysql5.7驱动
windows下QT4.8.6编译mysql5.7驱动

7、错误处理

7.1、错误类型:fatal error C1083:无法打开包括文件:”qsql_mysql.h”

此类错误一共有三个,根据错误提示分别修改对应的文件,如:

qsql_mysql.h中:

windows下QT4.8.6编译mysql5.7驱动

client_plugin.h中:

windows下QT4.8.6编译mysql5.7驱动

my_alloc.h中:

windows下QT4.8.6编译mysql5.7驱动

这三个文件均在刚建立的目录或者源码目录下,并将三者的路径均改为刚建立目录路径下对应的文件

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版本的驱动,如:

windows下QT4.8.6编译mysql5.7驱动
windows下QT4.8.6编译mysql5.7驱动

9、从上面两个文件夹中找出下面四个文件拷贝到如:D:\QT\4.8.6\plugins\sqldrivers目录下

windows下QT4.8.6编译mysql5.7驱动

到此mysql驱动就编译成功啦

资源下载:https://download.csdn.net/download/xumingyifrend/11256596

欢迎大家指教,希望大家喜欢

路漫漫其修远兮,同志仍须努力

继续阅读