首頁 / CompScience / Programming / Languages / C_and_CPP / Windows上GTK3的安裝跟使用教學

Windows上GTK3的安裝跟使用教學

兩年多沒玩GTK3了,當初因為GTK3沒有很完備,想自行編譯套件結果失敗,這回看看我們能不能捲土重來,不過我們先參考翻譯下面的這份文件:

釋出你的程式

你應該將所有需要的DLL檔案跟你的執行檔一起供貨,最終使用者不需要自行下載這一包檔案。

需求

GTK+3可以在Windows XP、Vista、7 跟 8上執行。

開發人員會想要有可以運作的MinGWMSVC安裝。

初始話設定

  1. 下載最新版的all-in-one bundle,使用解壓縮軟體,按滑鼠右鍵點擊 -> “解壓縮檔案”(以7-Zip為例),選擇你要的位置,在下面的敘述中以%GTKDIR%來稱呼,範例則是以gtk3的資料夾為例。

    2014-06-27_151538

  2. 新增 %GTKDIR%\bin 檔你的PATH環境變數中:

    • Windows XP : 滑鼠右擊”我的電腦” -> “內容”.
    • Windows Vista/7 : 滑鼠右擊”電腦” -> “內容” -> “Advanced system settings”.

    點擊”進階標籤” -> “環境變數”,在”系統變數”面板中雙擊PATH這一行,新增;%GTKDIR%\bin到最後。

    2014-06-27_152639

    2014-06-27_152742

  3. 下面的選項可自由操作,開啟命令提示字元(開始 -> 執行 -> “cmd” 開始 -> 尋找 “命令提示字元”) 然後輸入下列命令:

  4. pango-querymodules > %GTKDIR%\etc\pango\pango.modules
  5. gdk-pixbuf-query-loaders > %GTKDIR%\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache
  6. gtk-query-immodules-3.0 > %GTKDIR%\lib\gtk-3.0\3.0.0\immodules.cache
  7. 讓我測試吧!在命令提示字元或是在”執行”的表單中,執行demo程式:-demo

使用GTK+3開發程式

MinGW

你應該有可以執行的安裝,例如,”gcc.exe”已經在你的PATH中。

  1. 在命令提示字元中,確認 “pkg-config” 輸出的資料可以輸入:

    pkg-config –cflags –libs gtk+-3.0

  2. 使用這個輸出資料來進一步編譯,像這樣:

    gcc -o gtk3.exe gtk3.c -mms-bitfields -Ic:/gtk3/include/gtk-3.0 -Ic:/gtk3/include/atk-1.0 -Ic:/gtk3/include/cairo […]

  3. 測試執行結果(這裡gtk3.exe) :

MSVC

  1. 開啟Visual Studio 命令提示字元 (2010):

    2014-06-27_153830

  2. 在命令提示字元中,確認”pkg-config”輸出的資料合理,輸入:

    pkg-config –cflags gtk+-3.0

  3. 使用這個輸出來編譯程式,像這樣:

    • 刪除”-mms-bitfields“這個部份字串;
    • 新增”-Dinline= /link /libpath:%GTKDIR%/lib gtk-win32-3.0.lib gobject-2.0.lib”這個部份到最後

    例如:

    cl gtk3.c -Ic:/gtk3/include/gtk-3.0 -Ic:/gtk3/include/atk-1.0 […] -Dinline= /link /libpath:c:/gtk3/lib gtk-win32-3.0.lib gobject-2.0.lib

    (“gtk-win32-3.0.lib gobject-2.0.lib”是最低的需求,你得視會含括什麼函式庫而定,有可能需要加入其他的.lib檔案進來)

  4. 測試執行結果(這個程式是使用https://developer.gnome.org/gtk3/stable/gtk-getting-started.html這裡的Hello World in GTK+):

    2014-06-27_154445

馬上成為工作達人的Fans

About ㄚ琪

工作達人Fun Taiwan的創辦者及總編,可以在這裡更認識他。

發表迴響

你的電子郵件位址並不會被公開。 Required fields are marked *

*

Scroll To Top
按讚 !
愛你喔!