Qt添加驅動——Qt數據庫之添加MySQL驅動插件
Qt數據庫之添加MySQL驅動插件(1)
現在可用的數據庫驅動只有3種,在Qt中,我們需要自己編譯其他數據庫驅動的代碼,讓它們以插件的形式來使用。下面我們就以現在比較流行的MySQL數據庫為例,說明一下怎樣在Qt Creator中添加數據庫驅動插件。在講述之前,我們先看一下Qt Creator中數據庫的插件到底放在哪裏。
我們進入Qt Creator的安裝目錄,然後進入相對應的文件夾下,比方我這裏是
- D:Qt2010.02.1qtpluginssqldrivers
在這裏我們可以看見幾個文件,如下圖:
<根據名字中的關鍵字,我們可以判斷出這就是ODBC數據庫和SQLite數據庫的驅動插件。下面我們編譯好MySQL數據庫驅動後,也會在這裏出現相對應的文件。
首先:我們查看怎樣安裝數據庫插件。
我們打開Qt Creator,在幫助中搜索SQL Database Drivers關鍵字。這裏列出了編譯Qt支持的所有數據庫的驅動的方法。
我們下拉到在windows上編譯QMYSQL數據庫插件的部分,其內容如下:
這裏詳細介紹了整個編譯的過程,其可以分為以下幾步:
第一,下載MySQL的安裝程序,在安裝時選擇定制安裝,這時選中安裝Libs和Include文件。安裝位置可以是C:MySQL 。
註意:安裝位置不建議改動,因為下面進行編譯的命令中使用了安裝路徑,如果改動,那麽下面也要進行相應改動。
第二,進行編譯。我們按照實際情況輸入的命令如下。
- cd%QTDIR%srcpluginssqldriversmysql
- qmake“INCLUDEPATH+=C:MySQLinclude”“LIBS+=C:MySQLliboptlibmysql.lib”mysql.pro
- mingw32-make
註意:在上面的命令中qmake之後如果加上“-o Makefile”選項,那麽這個插件只能在以release模式編譯程序時才能使用,所以我們上面沒有加這個選項。
然後:我們按照上面的過程進行相應操作。
1.我們先下載MySQL的安裝文件。
我們可以到MySQL的官方主頁 http://www.mysql.com 進行下載最新的MySQL的windows版本,現在具體的下載頁面地址為:
http://www.mysql.com/downloads/mirror.php?id=383405#mirrors
我們不進行註冊,直接點擊其下面的
- Nothanks,justtakemetothedownloads!
可以在其中選擇一個鏡像網點進行下載,我使用的是Asia下的最後一個,就是臺灣的鏡像網點下載的。
下載到的文件名為:mysql-essential-5.1.44-win32 ,其中的win32表明是32位的windows系統,這一點一定要註意。文件大小為40M左右。
當然你也可以到中文網站上進行下載:http://www.mysql.cn/,隨便下一個windows的版本就行。
2.安裝軟件。
我們選擇定制安裝Custom。
然後選中安裝Include文件和Lib文件。
我們將安裝路徑更改為:C:MySQL 。
最終的界面如下。
安裝完成後,我們不進行任何操作,所以將兩個選項都取消。
3.進行編譯。
我們在桌面上開始菜單中找到Qt Creator的菜單,然後打開Qt Command Prompt。
然後輸入第一條命令cd %QTDIR%srcpluginssqldriversmysql 後按回車,運行效果如下。
然後輸入第二條命令:
- qmake“INCLUDEPATH+=C:MySQLinclude”“LIBS+=C:MySQLliboptlibmysql.lib”mysql.pro
按回車後運行效果如下:
最後輸入:mingw32-make ,按下回車後經過幾秒的編譯,最終效果如下:
整個編譯過程中都沒有出現錯誤提示,可以肯定插件已經編譯完成了。
4.我們再次進入Qt Creator安裝目錄下存放數據庫驅動插件的文件夾。
我這裏是D:Qt2010.02.1qtpluginssqldrivers
其內容如下:
可以看到已經有了和MySQL相關的文件了。
最後:我們編寫程序測試插件。
1.我們將上一次的主函數更改如下。
- intmain(intargc,char*argv[])
- {
- QCoreApplicationa(argc,argv);
- QSqlDatabasedb=QSqlDatabase::addDatabase(“QMYSQL”);//添加數據庫驅動
- returna.exec();
- }
運行程序,效果如下。
這裏提示:QSqlDatabase: QMYSQL driver not loaded 。
2.這時我們需要將C:MySQLbin目錄下的libmySQL.dll文件復制到我們Qt Creator安裝目錄下的qtbin目錄中。
如下圖:
3.這時再運行程序,就沒有提示了。
4.我們再將主函數更改一下,測試這時可用的數據庫驅動。
- intmain(intargc,char*argv[])
- {
- QCoreApplicationa(argc,argv);
- qDebug()<<“Availabledrivers:”;
- QStringListdrivers=QSqlDatabase::drivers();
- foreach(QStringdriver,drivers)
- qDebug()<<“t”<<driver;
- returna.exec();
- }
運行效果如下:
可以看到,現在已經有了MySQL的數據庫驅動了。
轉自:https://blog.csdn.net/dsg333/article/details/9628807
Qt添加驅動——Qt數據庫之添加MySQL驅動插件