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,编译的话一样可以生成上述文件。