解析MinGW環(huán)境里如何編譯Qt 4.3.2
解析MinGW環(huán)境里如何編譯Qt 4.3.2是本篇文章要介紹的內(nèi)容,不多說我們先來看內(nèi)容。
1.減壓:
把qt-win-opensource-src-4.3.2.zip減壓到文件夾d:\Qt\4.3.2-mingw里。
我在編譯qmake的時候,總是掛在pbuilder_pbx.cpp文件上邊,編譯不完。因此,我把已經(jīng)編好的qmake文件拷貝到了d:\Qt\4.3.2-mingw\bin里面。
2.設(shè)置環(huán)境變量:
- set PATH=d:\Qt\4.3.2-mingw\bin;d:\mingw\bin;%PATH%
3.生成Makefile文件:
- configure -plugin-sql-sqlite -plugin-sql-odbc -qt-libpng -qt-libjpeg -no-qmake
“-no-qmake”選項(xiàng)為不編譯qmake.
5.編譯工程
- mingw32-make
附錄:
1.編譯MySQL驅(qū)動
因?yàn)镸ySQL只提供了msvc可使用的庫,qt4 for mingw要想編譯出qsqlmysql庫來,我們先得編譯出mingw需要的libmysql.a這個文件來,可使用mingw工具(在包mingw-utils中)來生成。
- cd c:\mysql\lib\opt
- reimp -d libmysql.lib
- dlltool -k -d libmysql.def -l libmysql.a
***的reimp命令可以從這里下載。
- cd %QTDIR%\src\plugins\sqldrivers\mysql
- qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.a" mysql.pro
- mingw32-make
這下便會在%QTDIR%\plugins\sqldrivers目錄下面生成libqsqlmysql.a, qsqlmysql.dll這兩個文件了。
更詳細(xì)的MinGW和VC動態(tài)庫之間的互操作,詳見這里。
2.編譯注意事項(xiàng)
最少需要3.5G磁盤剩余空間,才可以編譯,編譯的時間大約是4個小時。
3.在編譯過后,不能通過“mingw32-make clean”來刪除臨時文件,因?yàn)檫@條命令可能將lib目錄下的一些庫文件錯誤的刪除掉,白編譯一場。
只能將目錄下面的tmp, debug, Makefile*等目錄和文件搜出來刪除掉,效果差不多。
4.如果你打算將編譯出來的東西拿到其他機(jī)器上運(yùn)行,需要設(shè)置配置文件
bin目錄下新建一個文件"qt.conf".
寫入以下內(nèi)容:
- [Paths]
- Prefix = "d:/qt/4.3.2-mingw1"
具體的目錄位置自己修改。
小結(jié):關(guān)于解析MinGW環(huán)境里如何編譯Qt 4.3.2的內(nèi)容介紹完了,希望本文對你有所幫助!