2011-03-11 30 views
1

喜每一個我有一個程序,其中我有包括/ gtk.h glib.h和gtk.h沒有發現

  • glib.h
  • 我已經使用

    • GTK命令

      sudo apt-get install libgtk2.0-dev glib 
      sudo apt-get install glade 
      

      ,但仍然收到這個巧舌如簧沒有發現ANS GTK/gtk.h沒有發現錯誤。我第一次使用這個gtk。不知道它是如何工作如何安裝它 好心幫我感謝

      我在做C語言編程

    +0

    你在你的命令中使用該編譯:\'GTK的配置--cflags GTK的配置--libs \' – yasouser 2011-03-11 19:39:01

    +0

    是的,先生我正在使用這些命令。 – tariq 2011-03-11 19:43:32

    +0

    先生,我只在命令中提到安裝包裝。我想念一些事情是我還有什麼其他事情? – tariq 2011-03-11 19:44:56

    回答

    2

    型「定位glib.h」,以確定文件的位置(假設現代的Linux發行版 - 您的文章沒有提供很多信息)。

    然後確保在Makefile中正確指定了glib.h的路徑。 (你有Makefile,不是嗎?)爲gtk.h執行相同的步驟。

    +0

    先生什麼是製造文件? – tariq 2011-03-11 19:32:57

    9

    你應該使用的命令(在最新版本的linux/gtk中)是pkg-config,而不是gtk-config。 gtk-config適用於pre 2.0 gtk開發。

    考慮你正在編譯叫做foo.c的,在GTK的2.0編譯的文件,您可以使用,在命令行命令:

    gcc `pkg-config --cflags glib-2.0 gtk+-2.0` foo.c -o foo `pkg-config --libs glib-2.0 gtk+-2.0` 
    

    這應該編譯,並給你一個文件foo,可以執行。

    但真的,使用makefile,因爲這東西是一個痛苦的繼續打字。我會寫出一個示例makefile,但在格式化時需要遵循一些規則,這使得編輯器窗口很難輸入。

    # Sample Makefile 
    CFLAGS := $(shell pkg-config --cflags glib-2.0 gtk+-2.0) 
    LDFLAGS := $(shell pkg-config --libs glib-2.0 gtk+-2.0) 
    
    foo: foo.c 
    <TAB HERE NOT SPACES>$(CC) $(CFLAGS) $< -o [email protected] $(LDFLAGS) 
    

    這定義了一個簡單的規則說,使富,這取決於foo.c的,所以foo.c的比富新,它將被重建。在我寫'TAB HERE NOT SPACES'的地方,必須是是一個製表符,並且不能是一組空格字符。

    0

    請閱讀官方文檔。它解釋了how to compile GTK applications。 基本上編譯hello.c文件生成一個hello計劃,你可以鍵入:

    gcc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello