標籤:qt4 mysql驅動編譯
開發環境:Win7+Qt4.8.4+MySQL5.6.26+mingw32參考文檔如下:http://www.qtcn.org/bbs/read-htm-tid-52944.htmlhttp://blog.sina.com.cn/s/blog_a6fb6cc90101h1gr.html
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驅動