我相信這不是一個重複的問題,我在發佈此問題之前已經看到所有問題/答案。我想我在這裏有不同的情況。在Ubuntu上編譯和鏈接GTK 3與C項目
我使用Ubuntu 12.04並下載了GTK 2和3。我從GNOME的網站上覆制了一個簡單的GTK源代碼。但是,當我在終端使用這個命令:
gcc `pkg-config --cflags --libs gtk+-3.0` hello.c -o hello
我得到這個:
hello.c:(.text+0x17): undefined reference to `gtk_init'
hello.c:(.text+0x23): undefined reference to `gtk_window_new'
hello.c:(.text+0x47): undefined reference to `gtk_main_quit'
hello.c:(.text+0x5b): undefined reference to `g_signal_connect_data'
hello.c:(.text+0x67): undefined reference to `gtk_widget_show'
hello.c:(.text+0x6c): undefined reference to `gtk_main'
這裏是我的代碼:
#include <gtk/gtk.h>
int
main (int argc,
char *argv[])
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show (window);
gtk_main();
return 0;
}
我不知道,如果出現錯誤,因爲我有兩個版本的GTK +或者什麼。 我在Ubuntu/Linux的應用程序開發中非常新手。
編譯如'的GCC的hello.c $(pkg配置--cflags --libs GTK + -3.0)-o hello'即庫之前源 – 2012-07-18 17:22:39
哦,我的上帝,它的工作。非常感謝。你能否把下面的答案標記爲答案。 – Anwar 2012-07-18 17:24:24