我相信这不是一个重复的问题,我在发布此问题之前已经看到所有问题/答案。我想我在这里有不同的情况。在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