前言
最近在了解GTK+-3.0界面開發相關,由於自身用的系統環境是windows,開個linux虛擬機來開發的話總歸是麻煩了點,於是開始尋找 windows上快捷搭建 GTK+-3.0 編譯環境的方法,在經過嘗試后,大概有三種辦法,下面會對這些方法進行詳細介紹。
msys2
第一種方法便是是使用 msys2 跨平台編譯環境,安裝 mingw32 直接在控制台中使用命令對 GTK+-3.0 工程進行編譯,基於 msys2 的 mingw32 編譯環境的具體搭建方法可以參考我之前的文章:
https://www.cnblogs.com/magicdmer/p/13110168.html
當我們搭建完環境后,打開 mingw32 環境安裝 GTK+-3.0 開發庫,如下
Administrator@MRROBOT-PC MINGW32 ~
# pacman -Ss gtk3 //查詢安裝包
mingw32/mingw-w64-i686-gtk3 3.24.23-1 [已安裝]
...
Administrator@MRROBOT-PC MINGW32 ~
# pacman -S mingw-w64-i686-gtk3
Administrator@MRROBOT-PC MINGW32 ~
# pacman -S mingw-w64-i686-pkg-config
接着我們新建一個 GTK+-3.0 源碼文件 main.c
#include <stdio.h>
#include <gtk.h>
int main()
{
gtk_init(NULL);
......
gtk_main();
}
然后使用下面的命令進行編譯
gcc main.c `pkg-config --cflags --libs glib-2.0 gtk+-3.0` -o helloword
這種方法就是比較原始的方法了,但是我們后續的方法都是基於這個 msys2的mingw32 環境來展開的
msys2 + visualstudio + visualgdb
這種辦法就是使用IDE了,要比上面的方法方便太多,這里最主要的是這個 visualgdb ,這是個vs的跨平台開發插件,是收費的。所以如果你要使用的話,可能需要去找個特別版本,網上可以搜到。
我們下載 visualgdb 安裝后,新建工程,如圖

因為我們講述的是在windows上開發gtk3,所以我們選擇 MingGW 工程,它也支持遠程創建linux工程,本地修改代碼后自動同步到linux機器進行編譯調試,暫且不表
后續的設置如圖所示


Toolchain選項需要設置成你安裝 msys32 的位置
然后工程新建完畢,我們在工程上右鍵,選擇 VisualGDB 設置,設置如下:

為了方便大家拷貝(這也是這種方法麻煩的地方),這里發一下參數:
include: E:\msys32\mingw32\include E:\msys32\mingw32\include\gtk-3.0 E:\msys32\mingw32\include\glib-2.0 E:\msys32\mingw32\lib\glib-2.0\include E:\msys32\mingw32\include\pango-1.0 E:\msys32\mingw32\include\cairo E:\msys32\mingw32\include\gdk-pixbuf-2.0 E:\msys32\mingw32\include\atk-1.0
lib: gtk-3.dll glib-2.0 gio-2.0 gdk-3.dll cairo atk-1.0.dll pango-1.0.dll gobject-2.0
然后大家就可以愉快的開發的! 這種方法相對於第一種方法要簡單,但是我依舊感覺每次新建工程都要配置一堆參數是很蛋疼的事情,所以我接着尋找
msys2 + codeblocks (推薦)
下載地址:http://www.codeblocks.org/downloads/binaries
這個方法是我推薦的方法,超級簡單,首先我們配置一下編譯器
Settings --- compiler

然后需要做的就是自定義一個 gtk+-3.0 的工程向導模板,因為自帶的只有 gtk+-2.0 的,如圖:

如圖,這個 GTK+-3.0 project 是我自定義的工程模板,新建完后工程如下:

這個默認的 main.c 也是我自定義的模板,大家可以自行修改,模板文件如下:
鏈接: https://pan.baidu.com/s/1WljtnhG1ocnqW25pv8OWAA
提取碼: cycy
然后解壓后放到 codeblock 的 wizard 目錄,我的是
C:\Program Files\CodeBlocks\share\CodeBlocks\templates\wizard
然后修改該目錄下的 config.script 文件,注冊我們的工程模板
RegisterWizard(wizProject, _T("gtk3"), _T("GTK+-3.0 project"), _T("GUI"));
然后啟動 codeblocks 新建工程就可以看到我們的工程模板了,在這個界面是可以右鍵對模板進行修改的,修改后后續可以隨時右鍵恢復。如果沒有出現模板,那么請在這個新建界面右鍵編輯全局文件,IDE會打開 config.script 文件讓我們修改,修改完后重啟 codeblocks 即可
這種方式感覺是最好的方法,linux上也可以使用它進行gtk+-3.0開發
總結
上面就是三種在windows上搭建gtk+-3.0工程編譯環境的方法,除了這三種之外,還有其他的,比如 vscode+cmake 的方式,由於文章太長了就不寫了,大家可以自行去搜索了解
