1、首先:进入到自己相应的qt/src/plugins/sqldrivers/mysql 目录下 (我的目录为:C:\QT\4.8.0\src\plugins\sqldrivers\mysql),这个下面有两个文件mysql.pro,一个main.cpp还有一个README
2、用文本编辑器打开该目录下的mysql.pro文件, 在mysql.pro中加入:
INCLUDEPATH+="C:\Program Files\MySQL\MySQL Server 5.5\include"
LIBS+="C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib"
保存并退出(即你的mysql的include 路径和 lib 下 opt 的 libmysql.lib 路径)
3、打开Qt 4.8.0 Command Prompt, 编译 这个文件
#qmake -o Makefile mysql.pro
//提示3条警告信息,但没影响
#mingw32-make (这个网上有好几个编译命令,我的是用nmake);
4、然后你会发现你的 qt 下这个 qt/plugins/sqldrivers路径(我的路径为S:\QT\4.8.0\plugins\sqldrivers 下 )下多了四个文件分别为 libqsqlmysql4.a, libqsqlmysqld4.a, qsqlmysql4.dll,qsqlmysqld4.dll (生成文件不一定是上面四个)这样基本上就编译成功 ,可以使用 mysql 了 !~
5、最后安全起见再将 mysql下 bin 文件中libmysql.dll文件 拷贝到 system32 下面
然后测试:
#include <QtGui> #include <QtSql> #include <cstdlib> #include <QtGui/QApplication> #include <QtSql/QtSql> bool createConnection() { 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(); } int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; if (!createConnection()) return 1; w.show(); return a.exec(); }
注:也可以用VS2008打开mysql.pro,配置一下INCLUDEPATH和LIBS,编译的话一样可以生成上述文件。