- Gtk for Windows
- pkg-config --cflags --libs gtk+-2.0 >inclib.txt
Gtk本身是個跨平台的視窗設計API,你可以到官方下載windows版的Gtk:
http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.12/
下載完後解壓縮到你想放的目錄底下,筆者我放在C:\底下,接著要設定環境變數,將Gtk的bin目錄資料夾位置設定到PATH裡,(例如我的路徑在C:\gtk+-bundle-2.12.11\bin),如此你就設定完Gtk了,如果你還沒裝上MinGW,你可以參考這一篇的設定[GCC] GCC for Windows (MinGW/DEV-C++)
使用沒有與glade結合的原始碼做為範例(因為目前為止筆者我還不知道如何讓windows也能使用glade)
Download: GGenPass.c
如果你先編譯了話,你會發現不能編譯,因為windows會跟你說找不到$#^%$&%,這時只好自行手動設定makefile裡的library和include位址,我的makefile內容如下:
########### makefile start ###############
CC = gcc
LIBS = -LC:/gtk+-bundle-2.12.11/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl
INC = -mms-bitfields -IC:/gtk+-bundle-2.12.11/include/gtk-2.0 -IC:/gtk+-bundle-2.12.11/lib/gtk-2.0/include -IC:/gtk+-bundle-2.12.11/include/atk-1.0 -IC:/gtk+-bundle-2.12.11/include/cairo -IC:/gtk+-bundle-2.12.11/include/pango-1.0 -IC:/gtk+-bundle-2.12.11/include/glib-2.0 -IC:/gtk+-bundle-2.12.11/lib/glib-2.0/include -IC:/gtk+-bundle-2.12.11/include/libpng12
CFLAG = -c -Wall -g
BIN = GGenPass.exe
OBJS = GGenPass.o
all: $(OBJS)
$(CC) $(OBJS) -o $(BIN) $(LIBS)
GGenPass.o: GGenPass.c
$(CC) $(CFLAG) GGenPass.c $(INC)
clean:
del /Q/F *.o *.exe
############# makefile end ##############
當然那些路徑並不是我一個字一個字打上去,是用I/O重新導向輸出完成的,如下:
上面的指令就會把Gtk相關的library和include路徑輸出到inclib.txt檔案裡
至於上面程式的編譯結果跟上一篇是一樣的,只是界面醜了點,所以Windows底下沒有特別需求,還是使用C#吧!