1.去mysql的官网下载mysql的zip包(记住要下载的是32位的zip包,否则编译的时候会出错!!!和编译器版本对应!!!) http://dev.mysql.com/downloads/mysql/
2.新建目录d:\qtmysql将下载好的zip包中的include和lib目录拷贝到d:\qtmysql
3.修改d:\%QTDIR%\src\plugins\sqldrivers\mysql\mysql.pro文件 在该文件末尾加入如下两行 INCLUDEPATH+= "d:/qtmysql/include"
LIBS+= -Ld:/qtmysql/lib/ -llibmysql
4.使用QtCreater打开该mysql.pro工程文件 编译该工程文件即可
5.编译完成后在该工程的debug文件夹中将看到相应的.dll文件和.a文件。
进入release目录发现并没有任何文件,此时打开qt命令行
并进入该工程目录
执行make release即可在release目录下生成相应的.dll文件和.a文件
6.将上一步生成的两个.dll文件和.a文件拷贝到d:\%QTDIR%\plugins\sqldrivers目录下
7.将d:\qtmysql\lib\libmysql.dll拷贝到d:\%QTDIR%\bin目录下即可。
8.测试(记得在pro文件中加上QT+=sql)
#include <QApplication>
#include <QtSql>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qDebug()<<"available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug()<<driver;
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("hzq");
db.setUserName("root");
db.setPassword("123456");
if(!db.open())
qDebug()<<"failed to connect to mysql";
else
qDebug()<<"success";
QString select_all_sql = "select * from teacher_class";
//查询所有数据
QSqlQuery sql_query;
sql_query.prepare(select_all_sql);
if(!sql_query.exec())
{
qDebug()<<sql_query.lastError();
}
else
{
while(sql_query.next())
{
int id = sql_query.value(0).toInt();
QString templ_name = sql_query.value(2).toString();
qDebug()<<QString("Id:%1 Templ Name:%2").arg(id).arg(templ_name);
}
}
return a.exec();
}测试结果如下:
版权声明:本文为博主原创文章,未经博主允许不得转载。
Qt编译mysql驱动
标签:qt4 mysql驱动编译