Linux操作系統:Fedora 17
因為MySQL是屬於Oracle的,所以Qt庫裡面沒有自帶MySQL驅動,但是源碼裡面提供了編譯MySQL驅動的工程文件,所以,就要用這個工程文件自己動手編譯MySQLl驅動,編譯前需要2個前提條件:
1.安裝了mysql-devel,這個包裡面包含了mysql的頭文件和庫
2.要從源碼包中找到編譯mysql驅動的工程文件
Ps:
因為Qt5.0.0安裝是以SDK方式進行,所以安裝以後的目錄裡面是沒有源碼目錄的,也就是src目錄
所以要從源碼壓縮包中解壓出來的文件夾中尋找,我的是在這裡,只要是從官網上下載的源碼包路徑基本都一樣
qt-everywhere-opensource-src-5.0.0\qtbase\src\plugins\sqldrivers\mysql
編譯步驟:
1.進入到源碼包中mysql驅動工程文件目錄下,我的路徑如下:
cd /home/alllen/qt-everywhere-opensource-src-5.0.0/qtbase/src/plugins/sqldrivers/mysql
2.生成makefile文件
為工程文件添加mysql的頭文件和庫文件,生成makefile
qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib64/mysql -lmysqlclient_r" mysql.pro
Ps:
必須把include和lib64下的mysql文件夾包含進去,否則的話編譯的時候會鏈接不到文件
3.開始編譯
直接 make
編譯完成後,會在qt-everywhere-opensource-src-5.0.0/qtbase/plugins/sqldrivers目錄下生成
libqsqlmysql.so
這就大功告成了,然後把這個動態鏈接庫文件復制到你的Qt安裝目錄下的這個位置:
/home/alllen/Qt5.0.0/5.0.0/gcc_64/plugins/sqldrivers
一切ok了。
更多Fedora相關信息見Fedora 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=5