1. 程式人生 > >在Windows下使用Mingw+GCC編譯gnu gettext 0.17

在Windows下使用Mingw+GCC編譯gnu gettext 0.17

1、首先下載gettext: http://www.gnu.org/software/gettext/

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
make

make install

經過大約30分鐘的配置及編譯,沒有出現任何錯誤。

編譯後的結果居然有42.3M, 連同libiconv-1.11,大約有47M,有需要的朋友留下郵箱。

有任何編譯問題,請留言!