建立Mingw + MSYS編譯環境
網路上方法很多,筆者經過實驗,選擇了一個比較簡單方便的安裝方法。
一、到下面的網站下載MingW安裝檔案
http://www.tdragon.net/recentgcc/
TDM/MinGW Installer
不用MingW網站上的安裝檔案,是因為MingW的安裝程式無法手工選擇速度較快的sf.net下載網站。
安裝時,先選擇檢查更新,然後選擇安裝組件,因為目的僅僅是編譯pidgin,所以只選擇了TDM recommanded C/C++,選擇下載的鏡像伺服器,以大陸的網路環境,通常以選擇北美的伺服器速度較快。
安裝位置,本人選擇在:D:/MINGW
二、下載安裝msys和msysDTK
google MSYS-1.0.10.exe
得到:
http://sourceforge.net/project/downloading.php?groupname=mingw&filename=MSYS-1.0.10.exe
google msysDTK-1.0.1.exe
得到:
http://sourceforge.net/project/downloading.php?groupname=mingw&filename=msysDTK-1.0.1.exe
下載完成後,2個檔案都安裝到安裝到目錄:D:/msys/1.0
msys安裝到最後會出現一個Dos視窗,都選擇y,當詢問 MinGW 的安裝路徑時:
Please answer the following in the form of c:/msys Where is your MinGW installation?
輸入MinGW的安裝路徑D:/MinGW
注意:
切不可把MSYS安裝到D:/MINGW,否則,編譯時間會出現錯誤:
gcc.exe: no input files
而無法進行編譯工作。
三、修改windows環境變數
進入“控制台-系統-進階-環境變數-系統變數”,找到PATH一欄,點選“編輯”,在末尾加入以下新路徑
d:/mingw/bin;D:/msys/1.0/bin;
編譯pidgin
一、下載pidgin的原始碼和編譯所需要的各種庫檔案
主要參照以下pidgin文檔
http://developer.pidgin.im/wiki/BuildingWinPidgin
先建立一個pidgin開發目錄,如:
F:/pidgin
將pidgin的源檔案,如pidgin-2.5.1.tar.bz2,存入F:/pidgin。
以下庫檔案存入 F:/pidgin/win32-dev 目錄:
GTK+,gtk-dev-2.6.10-rev-a.tar.gz
Libxml2,libxml2-2.6.30.tar.gz
Perl 5.10,perl_5-10-0.tar.gz
Tcl 8.4.5,tcl-8.4.5.tar.gz
GtkSpell / Aspell,aspell-dev-0-50-3-3.zip,gtkspell-2.0.11-daa1.tar.gz
Mozilla NSS,Network Security Services (NSS) ,Netscape Portable Runtime (NSPR)
SILC Toolkit,silc-toolkit-1.1.7.tar.gz
Meanwhile,meanwhile-1.0.2_daa1-win32.zip
Bonjour SDK,the Apple developer website,注意安裝目錄一定要修改為 F:/pidgin/win32-dev/Bonjour_SDK
Cyrus SASL,cyrus-sasl-2.1.22-daa1.zip
安裝後的目錄結構如:
F:.
└─pidgin
├─pidgin-2.5.1
└─win32-dev
├─aspell-dev-0-50-3-3
├─cyrus-sasl-2.1.22-daa1
├─gtk_2_0
├─gtkspell-2.0.11-daa1
├─libxml2-2.6.30
├─meanwhile-1.0.2_daa1
├─nspr-4.6.4
├─nss-3.11.4
├─perl-5.10.0
├─silc-toolkit-1.1.7
├─tcl-8.4.5
└─Bonjour_SDK二、開始編譯
進入DOS命令視窗,切換到目錄:
F:/pidgin/pidgin-2.5.1
輸入命令並按斷行符號執行:
make -f Makefile.mingw
如果沒有安裝perl和tcl,不需要按網站上說的那樣去下載安裝,直接修改:
libpurple/plugins/Makefile.mingw
pidgin/plugins/Makefile.mingw
用 # 注釋掉perl和tcl相關的行就可以繼續編譯了
編譯中的一些問題和選項
1. windres的一個小問題
當編譯到pidgin/win32/pidgin_dll_rc.rc和pidgin_exe_rc.rc時,編譯器提示:
windress無法開啟'pixmap/tray/16/',存取權限錯誤。
檢查pidgin_exe_rc.rc可以發現以下2條語句:
#define PIXMAPDIR "pixmaps/"
PIDGIN_ICON ICON PIXMAPDIR "pidgin.ico"
懷疑所用的windres版本不支援這種dir定義方式,改成:
PIDGIN_ICON ICON "pixmaps/pidgin.ico"
編譯通過.
2. 編譯debug版本
修改config.h,增加一行:
#define DEBUG
重新編譯。
3. 安裝檔案
執行命令
make -f Makefile.mingw install
自動組建目錄和安裝檔案
win32-install-dir