我已经安装了 gtk 2.0 然后我编译了我的代码然后它没有找到 gtk.h?
I have installed gtk 2.0 then i compiled my code then it donot find gtk.h?
我在 ubuntu
上输入了以下命令
sudo apt get-install gtk+2.0
gcc x.c
它给出错误
x.c:1:21: fatal error: gtk/gtk.h: No such file or directory
compilation terminated.
这是x.c
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
g_signal_connect(window, "destroy",
G_CALLBACK(gtk_main_quit), NULL);
gtk_main();
return 0;
}
我重新编译一下
gcc -o simple x.c pkg-config --libs --cflags gtk+-2.0 但谁能告诉我它为什么运行
编译器需要知道在哪里可以找到 GTK 的包含文件和库。如果你运行
pkg-config --libs --cflags gtk+-2.0
你会发现你需要添加到你的 gcc
命令的额外选项,以便它找到 gtk.h
在哪里以及你的二进制文件需要链接到哪些库。
运行 类似于
gcc -o simple x.c $(pkg-config --libs --cflags gtk+-2.0)
会给gcc
它需要的信息。
我在 ubuntu
上输入了以下命令sudo apt get-install gtk+2.0
gcc x.c
它给出错误
x.c:1:21: fatal error: gtk/gtk.h: No such file or directory
compilation terminated.
这是x.c
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
g_signal_connect(window, "destroy",
G_CALLBACK(gtk_main_quit), NULL);
gtk_main();
return 0;
}
我重新编译一下 gcc -o simple x.c pkg-config --libs --cflags gtk+-2.0 但谁能告诉我它为什么运行
编译器需要知道在哪里可以找到 GTK 的包含文件和库。如果你运行
pkg-config --libs --cflags gtk+-2.0
你会发现你需要添加到你的 gcc
命令的额外选项,以便它找到 gtk.h
在哪里以及你的二进制文件需要链接到哪些库。
运行 类似于
gcc -o simple x.c $(pkg-config --libs --cflags gtk+-2.0)
会给gcc
它需要的信息。