qt mingw连接mysql_win下Qt连接MySql (mingw) | 学步园

/************************************************************************************************************************************

因为要写个连接mysql的动态库,所以研究了下win下Qt连接MySql (mingw)。网上搜了下,qt中没有现成的mysql驱动,所以必须自己动手编译

下文所用环境

操作系统:win7

编译器:mingw

mysql: mysql5.5

Qt:4.6.3

这里需要一个mingw工具reimp 是一个把 .lib 转换成.a 的工具, 后面会说那里用到。

下载地址:http://www.qtcn.org/download/mingw-utils-0.3.tar.gz

参考连接:

注:本环境只是简单的把mingw 和qt底下的bin 加入到了path环境变量中,其他没有配什么,所以不需要担心这方面

*************************************************************************************************************************************/

Qt Assistant中搜索下:

1353311358_4161.jpg

会看到,里面已经有说明,不过太精炼,真正做的时候总是因为这或那,搞的你头大。

我安装工具的路径

Qt:C:\Qt\2010.04\qt

mysql:C:\MySQL\MySQL Server 5.5

下面一步一步讲:

1.因为mysql如果是默认安装,文件名是有空格的,所以我在d:/下创目录  mysql

2.把C:\MySQL\MySQL Server 5.5\include  C:\MySQL\MySQL Server 5.5\lib  都拷贝到 d:\mysql中

3.qt助手里说的是用 libmysql.lib 和nmake来编译,我看其他资料上说是没问题,但是 mingw是linux下的环境 需要libmysql.a的。 所以需要用到reimp工具来进行转换

如果你的mingw/bin中没有,那么上面有下载地址,下载解压后,把reimp拷贝到 mingw/bin下

ctrl+r  输入 cmd   回车

命令:

cd d:\mysql\lib

reimp -d libmysql.lib

dlltool -k -d libmysql.def -l libmysql.a

执行完后,在d:\mysql\lib 中应该有libmysql.a文件了

4.因为有些环境变量没配,所以这里需要打开 Qt command Prompt 。细心的话你会发现打开Qt command Prompt时,它会设置一些环境变量。

命令:

1.  cd %QTDIR%\src\plugins\sqldrivers\mysql

2.  qmake

-o Makefile "INCLUDEPATH+=D:\mysql\INCLUDE" "LIBS+=D:\mysql\LIBMYSQL.a" mysql.pro

3.  mingw32-make

执行到这里,如果没有提示错误,那么就说明成功了。去C:\Qt\2010.04\qt\plugins\sqldrivers 会看到

qsqlmysql4.dll

libqsqlmysql4.a

qsqlmysqld4.dll

libqsqlmysqld4.a

说明成功了

下面创建一个qt empty project 别忘了在 pro文件里添加

QT += sql

main.cpp

#include

#include

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

qDebug() << "Available drivers:";

QStringList drivers = QSqlDatabase::drivers();

foreach(QString driver, drivers)

qDebug() << "\t "<< driver;

qDebug() << "End";

return a.exec();

}

执行结果

1353312660_7893.jpg

希望这篇对你有帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值