参考:http://hi.baidu.com/tjm98/item/e623b81e43a0bc787b5f2537
http://www.qtcn.org/bbs/simple/?t47118.html(myseemylife网友的设置)
环境:win7,qt4.7.4,mysql5.5
最近研究mysql数据库,Qt来做界面。需要Qt访问mysql数据库。下面是实现步骤
一、编译mysql驱动
如果..\qt-everywhere-opensource-src-4.7.4\plugins\sqldrivers下有qsqlmysqld4.dll、qsqlmysql4.dll和相应的lib文件忽略步骤1-步骤5。
1、打开vs命令提示符
2、输入:cd E:\dstw\qt-everywhere-opensource-src-4.7.4\src\plugins\sqldrivers\mysql>
3、输入:qmake -o Makefile INCLUDEPATH+="E:/dstw/msql5/include" LIBS+="E:/dstw/msql5/lib/libmysql.lib" mysql.pro(注意点:路径不能有空格,E:/dstw/msql5/include和E:/dstw/msql5/lib/libmysql.lib源文件在D:\Program Files\MySQL\MySQL Server 5.5\lib下)(我的是这个路径,大家对应的改改)
4、nmake
5、生成的qsqlmysqld4.dll、qsqlmysql4.dll和相应的lib文件在..\qt-everywhere-opensource-src-4.7.4\plugins\sqldrivers下
6、将libmysql.dll copy到..\qt-everywhere-opensource-src-4.7.4\bin下
二、测试看看是否成功
#include <QtCore/QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> #include <QSqlDatabase> #include <QStringList> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); qDebug() << "Available drivers:"; QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver, drivers) qDebug() << "\t" << driver; QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); qDebug() << "MYSQL driver valid?" << db.isValid(); return a.exec(); }
哈哈成功了!