VS2008下Qt4编译MySQL驱动

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bjtuwayne/article/details/78243980

VS2008下Qt4编译MySQL驱动

已经在一个嵌入式板卡的Linux系统上搭建了MySQL数据库,想通过另一台Windows主机的界面访问该数据库,并对数据库进行管理,也就是实现客户端工具。考虑到Qt的方便和强大,脱离Windows本身的支持,于是想在Qt下开发该客户端。环境用的是VS2008+Qt4.6.3,发现该版本的Qt不支持MySQL的驱动,只支持SQLITE和QODBC。网上有人说Qt5以上版本支持MySQL,但是无奈我的开发环境不允许我换到Qt5以上,况且Qt5貌似是不支持VS2008的。另外,网上有人说可以通过ODBC连接MySQL数据库,但是需要在Windows的控制面板里设置数据源,感觉还是没有完全脱离Windows。于是回到起点重新研究如何实现Qt编译MySQL驱动。

一、Windows-MySQL安装。

我开始在MySQL官网上下载了connector/c的压缩包,回来解压后在XP系统试了一下,不知道什么原因没能成功。编译出来的驱动不能被Qt识别。后来重新下载了安装文件,选择安装了相应的文件就可以了。

到MysQL官网下载Windows下的安装包:mysql-installer-community-5.7.18.1.msi,该安装包中既有32位也有64位的程序,在安装时可以自行选择。

在安装时选择custom,选择connector/c X86(32位)进行安装即可。

二、Qt编译MySQL驱动。

1.找到MySQL的安装目录,一般在C:\Program Files (x86)\MySQL,打开该目录下的lib文件夹,将其中的libmysql.lib和libmysql.dll复制到Qt的安装目录下C:\Qt\4.6.3\src\plugins\sqldrivers\mysql。还路径下有五个文件:main.cpp,mysql.pro,readme以及刚拷进来的两个库文件。

2.用记事本打开mysql.pro,在最后添加两行:

INCLUDEPATH+="C:\ProgramFiles (x86)\MySQL\MySQL Connector.C 6.1\include"

LIBS+="C:\ProgramFiles (x86)\MySQL\MySQL Connector.C 6.1\lib\libmysql.lib"

注意MySQL的路径因人而异。

3.打开开始菜单,找到Qt4下的Qt4.6.3 Command Prompt,打开路径:C:\Qt\4.6.3\src\plugins\sqldrivers\mysql。执行qmake。会在该目录下生成makefile文件。


4.执行nmake,会在对应的驱动文件路径C:\Qt\4.6.3\plugins\sqldrivers下生成qsqlmysql4.dll,qsqlmysql4.lib,qsqlmysqld4.dll,qsqlmysqld4.lib四个驱动文件。其中前两个是Release下使用的,后两个是Debug下使用的。

5.将之前的那个libmysql.dll文件复制到Qt的bin目录下C:\Qt\4.6.3\bin。

至此,MySQL驱动编译完成。

三、驱动测试

启动VS2008,新建一个Qt4 控制台程序,在向导中勾选SQL Library支持。此处不勾选会在程序include相关数据库支持头文件时报错,如果真的忘记了勾选,可在vs2008的Qt Setting中勾选:


调用QSqlDatabase::drivers()来查看是否已经支持MySQL驱动。

#include<QtCore/QCoreApplication>

#include<qsql.h>

#include<qsqldatabase.h>

#include<qstringlist.h>

#include<qdebug.h>

 

intmain(intargc, char*argv[])

{

   QCoreApplicationa(argc,argv);

   QStringListstr = QSqlDatabase::drivers();

   qDebug()<<str;

 

   returna.exec();

}

看结果:


四、Windows vs2008 Qt4 开发客户端连接Linux MySQL Server

猜你喜欢

转载自blog.csdn.net/bjtuwayne/article/details/78243980