在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,有需要的朋友留下郵箱。

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章