2016-05-16 29 views
0

我剛剛開始學習使用eclipse cdt和gtk在Ubuntu中進行C++編程。如何在gtk 3.0中構建示例項目

我能夠安裝和配置包:

  1. 安裝gtk3.0
  2. 從市場上
  3. 添加$ {} PKCFLAGS跨G ++編譯器 安裝pkg配置現在:$ {COMMAND} $ {FLAGS} $ {OUTPUT_FLAG} $ {OUTPUT_PREFIX} $ {OUTPUT} $ {INPUTS} $ {PKCFLAGS}
  4. 在Cross G ++ Linker中添加$ {PKCFLAGS} Now:$ {COMMAND} $ { FLAGS} $ {OUTPUT_FLAG} $ {OUTPUT_PREFIX} $ {OUTPUT} $ {INPUTS} $ {PKCFLAGS}

我試圖運行一個示例程序:

#include <stdio.h> 
#include <stdlib.h> 
#include <gtk/gtk.h> 

int main (int argc, char *argv[]) { 
    GtkWidget *window; 

    gtk_init (&amp;amp;argc, &amp;amp;argv); 

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
    gtk_window_set_title (GTK_WINDOW (window), &amp;quot;Window :-)&amp;quot;); 

    g_signal_connect (window, &amp;quot;destroy&amp;quot;, G_CALLBACK (gtk_main_quit), NULL); 

    gtk_widget_show (window); 

    gtk_main(); 

    return 0; 
} 

但我仍然得到一個錯誤 「未解決的包容:」

回答

0

有兩個問題,

  1. 我需要在C/C++ Build =>設置中添加gtk + 2.0
  2. 我沒有注意到,但有幾個是與我連接它的 一些奇怪的符號的代碼起訴,我改成了這一點:

    #include <stdio.h> 
    #include <stdlib.h> 
    #include <gtk/gtk.h> 
    

    INT主(INT的argc,字符* argv的[]){ 的GtkWidget *窗口;

    gtk_init (&argc, &argv); 
    
        window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
        gtk_window_set_title (GTK_WINDOW (window), "Hello world"); 
    
        g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); 
    
        gtk_widget_show (window); 
    
        gtk_main(); 
    
        return 0; 
    

    }在終端 pkg-config --cflags gtk+-3.0

+0

我想他想在問題中輸入Gtk + -3.0。 –

1

運行,並把在 「編譯器標誌」 字段的輸出介於Eclipse的設置。 運行 pkg-config --libs gtk+-3.0 並將此命令的輸出置於「鏈接器標誌」字段中。除非你真的交叉編譯,否則不要使用交叉編譯器設置。只要你的代碼是正確的,這應該編譯。