我们假设你已经成功安装了MySQL(我用的是MySQL的安装版)和QT,MySQL的安装路径采用的是其默认安装路径,也就是安装在了C:\Program Files下。下面开始正式讲解QT访问安装版MySQL的驱动的编译方法。

第一步:

因为MySQL的安装路径下有空格,而编译访问MySQL的驱动是不能有空格的,所以,我们先在C盘新建一个文件夹,命名为mysql,再将MySQL安装文件下的lib和include文件夹拷贝到刚才新建的那个文件夹下。

第二步:

打开打开QT Command,我们可以看到起已经有一条默认路径,(因为我的是安装在D:\Qt文件夹下,所以默认路径为D:\Qt\4.7.3)

接着输入cd  C:\mysq\lib转到C:\mysq\lib库文件夹下

再输入reimp -d libmysql.lib (生成 libmysql.def文件)

接着输入dlltool -k -d libmysql.def -l libmysql.a (生成 libmysql.a文件),接着我们就可以看到出来了: libmysql.def  libmysql.a这两个文件。

第三步:

当我们准备好libmysql.a这个库文件之后,我们就可以开始编译之旅了。

我们输入cd %QTDIR%/src/plugins/sqldrivers/mysql,跳转到QT4.7的安装目录下的src/plugins/sqldrivers/mysql文件夹下(我的是D:\Qt\4.7.3\src\plugins\sqldrivers\mysql)

接着输入 qmake -o Makefile "INCLUDEPATH+=C:/mysql/include" "LIBS+=C:/mysql/LIB/libmysql.a" mysql.pro  

(此处特别小心,该路径指向的是我们自己在C盘创建的那个mysql文件夹,且libmysql.a得注意大小写的问题,否则会不成功),此时,我们得到了makefile,

接着输入make,此时D:\Qt\4.7.3\src\plugins\sqldrivers\mysql下的debug文件夹里边出现调试版本的了,也就是libqsqlmysqld4.a 和 qsqlmysqld4.dll

接着输入make release , 此时D:\Qt\4.7.3\src\plugins\sqldrivers\mysql下的release文件夹里边出现了release版本,也就是libqsqlmysql4.a 和 qsqlmysql4.dll

接着我们把生成的libqsqlmysqld4.a  qsqlmysqld4.dll  libqsqlmysql4.a  qsqlmysql4.dll 四个文件拷贝到QT的驱动目录下,即D:\Qt\4.7.3\plugins\sqldrivers目录下

最后我们再把mysql安装目录下lib文件中的libmysql.dll拷贝到QT安装目录下的bin文件夹中(否则会无法打开与数据库的连接)。

 

在文章的最后,可能会有一部分使用MyEclipse/Eclipse的人在使用QT时也去右键单击再添加库,最后安装以上方法编译成功了,该拷贝的也拷贝了,可就是会出现File Not Found的错误的,只需要在pro文件的最后,把因为右键单击添加库文件而自动增加的那几行代码删除就OK了。