GTK+ Programming with Glade and Dev C++

glade_01
Glade是GTK+的一套RAD工具,可直接拉出大部分的視窗元件,並有詳細的調整和訊號對應,對於初學者來說應該相當適用。

基本的使用教學可參考這篇Glade 入門介紹

只是因為Glade不一定跟Dev C++的DevPak相吻合,所以在使用Dev C++編譯前可能需要作點修改。以下便簡單示範幾個修改步驟,必須先說,這只是我個人的即興作法,不符標準,也不求準確,只求能編譯、能執行。所以參考價值恐怕不怎麼高,看看即可。

程式版本:

Glade 2.12.1
Dev C++ 4.9.9.2


1.修改.dev檔。

以Glade拉出樣式雛型,然後儲存,並按下「Build」,程式會自動在專案目錄中產生devcpp子目錄,以文字編輯器開啟其中的.dev檔;接著以Dev C++新建一個GTK+的C專案,也用文字編輯器打開此新專案的.dev檔,檢查其中的『Compiler』、『CppCompiler』和『Linker』這三段落是否與Glade自己產生的dev中的相同,若不一樣,就取代後者。
Compiler=-I"<INCLUDE>\gtk-2.0" -I"<LIB>\gtk-2.0\include" -I"<INCLUDE>\atk-1.0" -I"<INCLUDE>\pango-1.0" -I"<INCLUDE>\cairo" -I"<INCLUDE>\glib-2.0" -I"<INCLUDE>\glib-2.0\glib" -I"<LIB>\glib-2.0" -I"<LIB>\glib-2.0\include" -mno-cygwin -mms-bitfields
CppCompiler=
Linker=-limm32 -lshell32 -lole32 -luuid -lintl -lcairo.dll -lpangowin32-1.0.dll -latk-1.0.dll -lgdk_pixbuf-2.0.dll -lgdk-win32-2.0.dll -lglib-2.0.dll -lgmodule-2.0.dll -lgobject-2.0.dll -lgthread-2.0.dll -lgtk-win32-2.0.dll -lpango-1.0.dll

2.修改main.c。

打開子目錄src中的main.c,將如下三行:
gchar *package_prefix = PACKAGE_PREFIX;
gchar *package_data_dir = PACKAGE_DATA_DIR;
gchar *package_locale_dir = PACKAGE_LOCALE_DIR;
改成這樣:
gchar *package_prefix = "" ; //PACKAGE_PREFIX;
gchar *package_data_dir = "" ; //PACKAGE_DATA_DIR;
gchar *package_locale_dir = "" ; //PACKAGE_LOCALE_DIR;

還有這一行:
pixmap_dir = g_build_filename (package_data_dir, PACKAGE, "pixmaps", NULL);
改成:
pixmap_dir = g_build_filename (package_data_dir, "pixmaps", NULL);


3.修改interface.c檔。

把使用的圖檔放入pixmaps資料夾中,並將interface.c的所有如下段落
image = create_pixmap (window1, "檔名.ico");
改成:
image = gtk_image_new_from_file ("..\\pixmaps\\檔名.ico");

而若有如下段落:
  dialog1_information_icon_pixbuf = gdk_pixbuf_new_from_file ("檔名.ico", &error);
  if (dialog1_information_icon_pixbuf)
    {
      gtk_window_set_icon (GTK_WINDOW (dialog1_information), dialog1_information_icon_pixbuf);
      gdk_pixbuf_unref (dialog1_information_icon_pixbuf);
    }
  gtk_window_set_icon (GTK_WINDOW (dialog1_information), dialog1_information_icon_pixbuf);
則要改成:
  gtk_window_set_icon_from_file (GTK_WINDOW (dialog1_information), "..\\pixmaps\\檔名.ico", &error);


OK,做好以上幾個修改步驟後,應該就能用Dev C++成功編譯了。

No response to “GTK+ Programming with Glade and Dev C++” ;

張貼留言