<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BaNg@taobao

    Just Do It!

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      20 Posts :: -1 Stories :: 202 Comments :: 0 Trackbacks
    為了搞清linux下SWT與GTK+的映射機制,翻出老筆記本裝了個Ubuntu,配置GTK+開發環境還是比較簡單的。

    1. 安裝必須要的東西
      1. 安裝JDK,使用命令:sudo apt-get install sun-java6-sdk
      2. 安裝eclipse+CDT 5.0,我覺得CDT從5開始漸成氣候了,作為一個eclipse開發者,我覺得他比kdevelop好用:),遺憾的是在win下不支持msvc,只能通過mingw或cygwin
      3. 安裝gnome和gtk+開發庫,使用命令:sudo apt-get install libgtk2.0-dev libgnome2-dev ,安裝之后,所有相關的頭文件和靜態/動態庫文件已經準備好了,不得不說apt-get真NB。
    2. 測試一下
      1. 頭文件使用命令 pkg-config --cflags gtk+-2.0,正常情況下會出現一下結果:
        -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1
      2. 庫文件使用命令 pkg-config --libs gtk+-2.0,正常情況下會出現一下結果:
        -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
    3. 啟動Eclipse,新建一個c project,然后右鍵單擊 properties->c/c++ build->Settings,在Tool Setting中將給GCC設置頭文件目錄以及鏈接庫(還有一種做法是自定義make file,里面調用pkg-config,因為沒有顯式設置,cdt無法做靜態分析,不能利用它的強大功能,比如索引,重構等)。
      1. 設置頭文件,點擊GCC C Compiler->Directories,然后使用命令 pkg-config --cflags gtk+-2.0 | sed 's/ /\n/g' > include.txt,然后使用命令 sed 's/-I//g' include.txt,依次將出現的每一行add到inclue path里面去。
      2. 設置庫,點擊GCC C Linker->Libraries,然后如頭文件操作一樣使用命令pkg-config --libs gtk+-2.0 | sed 's/ /\n/g' > lib.txt,然后使用命令 sed 's/-l//g' lib.txt,依次將出現的每一行添加到libraries里。
    4. 編寫一個包含GTK+測試代碼的C文件,添加到項目里面,內容如下:
      #include <gtk/gtk.h>
      static void destroy(GtkWidget*, gpointer);
      static gboolean delete_event(GtkWidget*, GdkEvent*, gpointer);
      int main(int argc, char *argv[]) {
          GtkWidget 
      *window, *label;
          gtk_init(
      &argc, &argv);
          window 
      = gtk_window_new(GTK_WINDOW_TOPLEVEL);
          gtk_window_set_title(GTK_WINDOW (window), 
      "Hello World!");
          gtk_container_set_border_width(GTK_CONTAINER (window), 
      10);
          gtk_widget_set_size_request(window, 
      200100);
          
      /* Connect the main window to the destroy and delete-event signals. */
          g_signal_connect(G_OBJECT(window), 
      "destroy", G_CALLBACK(destroy), NULL);
          g_signal_connect(G_OBJECT(window), 
      "delete_event",
                  G_CALLBACK(delete_event), NULL);
          
      /* Create a new GtkLabel widget that is selectable. */
          label 
      = gtk_label_new("Hello World");
          gtk_label_set_selectable(GTK_LABEL (label), TRUE);
          
      /* Add the label as a child widget of the window. */
          gtk_container_add(GTK_CONTAINER (window), label);
          gtk_widget_show_all(window);
          gtk_main();
          
      return 0;
      }
      /* Stop the GTK+ main loop function when the window is destroyed. */
      static void destroy(GtkWidget *window, gpointer data) {
          gtk_main_quit();
      }
      /* Return FALSE to destroy the widget. By returning TRUE, you can cancel
       * a delete-event. This can be used to confirm quitting the application. 
      */
      static gboolean delete_event(GtkWidget *window, GdkEvent *event, gpointer data) {
          
      return FALSE;
      }

      (以上代碼來自圖書 Foundation of GTK+ development)
      然后運行,正常會顯式如下:
    Ubuntu真是個好東西,耗的資源少,圖形系統穩定,對開發人員及其友好,真的很強大。

    posted on 2008-11-17 00:28 Always BaNg. 閱讀(6146) 評論(3)  編輯  收藏 所屬分類: EclipseC++源代碼分析

    Feedback

    # re: Ubuntu下GTK+開發環境設置 2009-12-02 15:14 wqlxp
    感謝博主,解決大問題了。  回復  更多評論
      

    # re: Ubuntu下GTK+開發環境設置 2012-06-21 14:04 slitony
    謝謝。
      回復  更多評論
      

    # re: Ubuntu下GTK+開發環境設置 2013-11-20 20:13 lee!ce
    難道 archlinux xfce 就不穩定嗎?

    我用了好幾年了,也沒見出什么錯  回復  更多評論
      

    主站蜘蛛池模板: 国产精品福利片免费看 | 全部免费毛片免费播放| 久久精品国产亚洲AV大全| 国产成人亚洲影院在线观看| 亚洲国产成人久久精品大牛影视| 99久久免费精品国产72精品九九| 亚洲伊人久久大香线蕉| 91在线视频免费播放| 亚洲成年网站在线观看| 浮力影院第一页小视频国产在线观看免费 | 亚洲第一精品电影网| 18女人毛片水真多免费| 亚洲国产日韩女人aaaaaa毛片在线| 在线观看免费高清视频| 久久亚洲中文字幕无码| 7m凹凸精品分类大全免费| 亚洲视频免费播放| 成人免费AA片在线观看| 亚洲av永久无码一区二区三区 | 毛片免费视频观看| 性色av极品无码专区亚洲| 亚洲国产精品专区在线观看 | 亚洲伦另类中文字幕| 免费福利在线播放| 337P日本欧洲亚洲大胆精品| 国产亚洲美女精品久久久| 免费av一区二区三区| 亚洲一区二区高清| 国产成人免费视频| 伊人久久亚洲综合影院首页| 四虎影视精品永久免费网站| 成人无码区免费A∨直播| 亚洲经典在线观看| 免费人成网站在线高清| 一级毛片在线免费看| 亚洲精华液一二三产区| 亚洲精品狼友在线播放| 成人免费视频一区| 成人国产精品免费视频| 一区二区亚洲精品精华液| 亚洲老妈激情一区二区三区|