QT的驱动编译
http://heweiding155.iteye.com/blog/1393894qt由于授权许可的限制,Qt的开源版本没有提供所有数据库的驱动程序。免费下载的中只含有QSQLITE也就是SQLite的驱动程序,要想与mysql或oracle等连接需要自己编译其驱动。由于种种问题,经历各种重装,各种失败,本人用了两天才成功用qt连接上了mysql数据库。(看网上其他教程都是分
http://heweiding155.iteye.com/blog/1393894
qt由于授权许可的限制,Qt的开源版本没有提供所有数据库的驱动程序。免费下载的中只含有QSQLITE也就是SQLite的驱动程序,要想与mysql或oracle等连接需要自己编译其驱动。
由于种种问题,经历各种重装,各种失败,本人用了两天才成功用qt连接上了mysql数据库。(看网上其他教程都是分分钟搞定 -_-!!) 在这里也写一下自己的经历。
下边开始正文:
一.下载mysql http://dev.mysql.com/downloads/ 目前最新版本5.5。
二.安装mysql 安装时不能选择Typical型,这样会缺少库文件(include和lib文件夹)。啥都不管直接选择FUll型。
三.将mysql安装目录下的include和lib两个文件夹拷贝到qt\4.7.4\src\plugins\sqldrivers\mysql下。可以自己新建一个目录如mysqllib。
四.修改mysql.pro文件,在第二行添加如下内容
INCLUDEPATH +="./mysqllib/include"
LIBS+="./mysqllib/lib/libmysql.lib"
五.将QT的bin目录和mingw的目录都添加到环境变量的path中。
六.运行qt 4.7.4 Command Prompt 输入以下命令(路径自己注意修改)
cd qt\4.7.4\src\plugins\sqldrivers\mysql
qmake
mingw32-make release
mingw32-make debug
执行qmake后没有返回结果,只是在mysql目录下生成了debug和release的makefile文件Makefile.Debug和Makefile.Release。
全部执行完后,将release下的libqsqlmysql4.a,qsqlmysql4.dll和debug下的libqsqlmysqld4.a,libqsqlmysqld4.dll 拷贝至
QtSDK\Desktop\Qt\4.7.4\mingw\plugins\sqldrivers
目录下
七.将mysql的库文件libmysql.dll拷贝到QtSDK\Desktop\Qt\4.7.4\mingw\bin 目录下
接下来运行一个例子看驱动是否装好:
新建一个qt gui 控制台项目SQLtest
在SQLtest.pro中加入QT +=sql
接着修改main.cpp如下
#include<QtCore/QCoreApplication>
#include<QtSql>
intmain(intargc,char*argv[])
{
QCoreApplicationa(argc,argv);
qDebug()<<"Availabledrivers:";
QStringListdrivers=QSqlDatabase::drivers();
foreach(QStringdriver,drivers)
qDebug()<<"\t"<<driver;
qDebug()<<"End";
returna.exec();
}
执行程序输出为:
Available drivers:
"QSQLITE"
"QMYSQL3"
"QMYSQL"
EndVS编写Qt界面程序如何不出现控制台
在项目解决方案的属性页里,连接器->系统->子系统里选择<windows>,
这样再重新生成解决方案,重新编译就不会出现烦人的控制台了
但是这个控制台在调试的时候还是非常方便的。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)