為了試試看能不能在MinGW下編譯GTK+-3.2.0下,ㄚ琪又重裝了MinGW跟Msys,當然這次的版本更新了,主要是下載mingw-get-inst-20110802.exe來安裝,另外路徑不再像建構自訂的MinGW/MSYS開發環境介紹使用/usr/local這類傳統Unix-like的預設安裝路徑,改用MinGW建議的/mingw路徑。
/etc/fstab不設定了。
因此profile.local由
改成
#
# /mingw/etc/profile.local
#
alias dir=’ls -la –color=auto’
alias ls=’ls –color=auto’
PKG_CONFIG_PATH=”/mingw/lib/pkgconfig”
CPPFLAGS=”-I/mingw/include”
CC=”gcc -mthreads -mwindows”
CFLAGS=”-O2″
CXXFLAGS=”-I/mingw/include -mms-bitfields”
LDFLAGS=”-L/mingw/lib -Wl,–enable-auto-image-base”
LIBS=-lintl
export LIBS CC PKG_CONFIG_PATH CPPFLAGS CFLAGS CXXFLAGS LDFLAGS
export PKG_CONFIG=”/mingw/bin/pkg-config.sh”
export LD_LIBRARY_PATH=”/mingw/lib”
export lt_cv_deplibs_check_method=”pass_all”
PATH=”${PATH}:/opt/bin”
PS1='[033[32m]u@h [033[33mw033[0m]$ ‘
export PATH PS1
# package build directory
LOCALBUILDDIR=~
# package installation prefix
LOCALDESTDIR=/mingw
export LOCALBUILDDIR LOCALDESTDIR
vim暫時也不設定,反正是在Windows下作業有一堆的編輯器可以用。
subversion、cmake先不裝。
pkg-config還是跟原來的安裝一樣,主因還是pkg-config跟glib這種蛋生雞,雞生蛋的問題,兩個彼此互相依靠,所以完全不能說先裝哪一個來完成任務,所以只好先借用這個已編譯好的程式來暫用,等編譯好glib再來更新pkg-config。
directx暫時不裝,zlib雖說可以用mingw-get install zlib來安裝,但卻沒有該有include及lib的檔案,所以還是得照前文來操作。
nasm、SDL暫時不裝。
libng、libjpg、libtiff一樣照單全收使用。
SDL_image、OpenAL Soft、smpeg、libogg、libvorbis、SDL_mixerㄚ琪覺得這是視訊要用的程式,暫時不裝。
curl照做。
Public Domain Curses、freeglut、Bullet暫時不裝。
libiconv、gettext也先不裝,原因好像MinGW預設有安裝。
重頭戲來了,glib-2.30.0的安裝,不過沒有像之前的順利,主要是這次的編譯竟然要有libffi函式庫,這個函式庫之前是不須要的。
libffi 的全名是 Foreign Function Interface,他本身是用組合語言撰寫,不過他提供了一個 Portable 的 API。我們只要呼叫這些 API 就可以進行動態的函式呼叫(這和 Function Pointer 不同。如前所述,Function Pointer 必需在 Compiler Type 決定函式的型別。而 libffi 可以在執行期決定 Callee 的型別)。許多有名的計劃都是 libffi 的使用者,例如:CPython、OpenJDK、Dalvik VM 等等。
好了,就去下載libffi-3.0.10的原始碼來編譯,應該不會有問題。接下來就繼續去編譯glib了…
接下來會發現的問題就是沒有python2.5
/usr/bin/env: python2.5: No such file or directory
失敗了,卡在MinGW下沒有python,Orz…
2 則留言