在Windows下使用Mingw+GCC編譯gnu gettext 0.17
2、解壓後,有目錄gettext-0.17,這個目錄是我們工作的根目錄
3、開啟msys命令列,進入目錄gettext-0.17
4、在這裡可以./configure --help檢視gettext的編譯幫助
5、輸入如下命令進行配置:./configure --prefix=/e/Projects/_LibSource/gettext/gettext-0.17/dist --with-libiconv-prefix=/d/Program/mingw/extra-libs/libiconv-1.11
6、配置過程中,不會出錯,但使用這些選項,在make時,會找不到類似“__imp_pthread_.......”的錯誤
按字面的意思,就是找不到pthreads庫。
後來手動修改configure過後的Makefile,修改行如下:
原內容: LIBS =
修改後的內容: LIBS =" -lpthread"
但是有太多的Makefile要修改,gettext應該不會這麼笨,可能在configure配置時,少掉了什麼引數,再仔細檢視./configure --help的可用引數,發現有一個有用的引數就是:
--enable-threads={posix|solaris|pth|win32}
specify multithreading API意思就是要啟用什麼樣的多執行緒支援, 在Windows上編譯,使用win32就OK了,當然,也可以編譯pthreads,使用pth。
在編譯中,我使用如下的命令列配置及編譯:
./configure --prefix=/e/Projects/_LibSource/gettext/gettext-0.17/dist --with-
libiconv-prefix=/d/Program/mingw/extra-libs/libiconv-1.11 --enable-threads=win3
2
makemake install
經過大約30分鐘的配置及編譯,沒有出現任何錯誤。
編譯後的結果居然有42.3M, 連同libiconv-1.11,大約有47M,有需要的朋友留下郵箱。
有任何編譯問題,請留言!