ㄚ琪拋開了libffi的編譯問題,繼續大步向前邁進。這一次是要編譯GLib,這一次編譯基本上沒什麼大問題,但是小問題卻是不少,最主要的就是C:\gtk_compilation\vs10\Win32\include沒有設進其他Include目錄中,造成libintl.h找不到的錯誤。
當然你也一併注意C:\gtk_compilation\vs10\Win32\lib的設定,要加到其他程式庫目錄。
這些Chun-wei Fan都不再重複寫了,所以自己要聰明點,另外一個警告就是
warning MSB8012: TargetPath… 與 Linker 的 OutputFile 屬性值 …。 這可能會導致您的專案建置不正確。 若要改正這種情況,請確認 $(OutDir)、$(TargetName) 和 $(TargetExt) 屬性值必須與 %(Link.OutputFile) 中指定的值相符。
這個警告後來ㄚ琪就是直接在連結器->輸出檔案這裡改成$(OutDir)$(TargetName)$(TargetExt)了,這樣警告就可以解決,另一個問題就是輸出檔案的路徑不太對,它會輸出dll到C:\gtk_compilation\build\win32\vs10\Debug\Win32\bin,這好像不是我想要的。
試著將輸出目錄改成C:\gtk_compilation\vs10\Win32\bin,重新編譯,哇,就像秋天樹林呈現的紅色和褐色那樣,美呆了:
正在建立程式庫 C:\gtk_compilation\vs10\Win32\bin\glib-2.0.lib 和物件 C:\gtk_compilation\vs10\Win32\bin\glib-2.0.exp
glib.vcxproj -> C:\gtk_compilation\vs10\Win32\bin\glib.dll
========== 建置: 1 成功、0 失敗、0 最新、0 略過 ==========
看到了C:\gtk_compilation\vs10\Win32\bin\glib.dll,酷!
ㄚ琪就再一次把操作步驟分享出來:
1.下載glib-2.31.2.tar.bz2,解壓縮到c:\gtk_compilation\下。
2.開啟C:\gtk_compilation\build\win32\vs10裡的glib.sln。
3.選擇Visual C++ IDE適當的組態,好讓DLL檔、LIB檔、工具程式及標頭檔放在適當的地方。除了前面的glib.dll對了,這個C:\gtk_compilation\vs10\Win32\bin\glib-2.0.lib好像還不太對,ㄚ琪試著將匯入程式庫改成C:\gtk_compilation\vs10\Win32\lib\$(ProjectName).lib,酷,又對了。
4.如果你要編譯COGL (跟 Clutter),再做一些修改,基本上ㄚ琪根本不認識這個套件,就給它忽略好了,好了,繼續進行下一個ATK的編譯吧。
atk-2.2.0.tar.bz2