我正在尝试在 Ubuntu 上安装 GTK 开发环境,但安装时遇到了困难。
基本上,我的目标是简单地编译一个包含头文件的 C 文件<gtk/gtk.h>
,这样我就可以开始修改了:
#include <gtk/gtk.h>
int main() { }
所以,这个答案说你可以简单地使用 apt-get installgnome-core-devel build-essential
来安装开发环境。好的,我试过了,当我尝试编译上面的代码时,我得到了,编译器抱怨它找不到文件gtk/gtk.h
于是,我将其添加/usr/include/gtk-2.0/
到路径并再次编译。现在它抱怨说找不到另一个文件/gio/gio.h
。
我的系统上甚至不存在这个文件,所以在谷歌上搜索 gio.h 并使用 apt-get 获取其他库后,我设法安装了它。我尝试再次编译,这次编译器找不到/usr/include/glib-2.0/glib/gtypes.h
。
此时,我想安装像 GTK 开发环境这样相当流行的软件包应该不会这么难。我以为我的系统可能出了问题,所以我尝试在不同的 Ubuntu 安装上安装,结果遇到了同样的问题。
那么,安装 GTK 需要哪些软件包?我是否需要手动配置包含路径,还是应该自动进行?
答案1
GTK+ 有两个版本:gtk+2 和 gtk+3。您应该选择或至少优先选择 gtk+3,因为过渡期已经开始了一段时间。
这里有一些 gtk3 的示例:http://developer.gnome.org/gtk3/3.2/gtk-getting-started.html
#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;
}
要查找哪个包提供了文件,请前往http://packages.ubuntu.com并向下滚动到“搜索包的内容”。输入文件名作为关键字并搜索文件。
gtk.h 由两个包提供:
/usr/include/gtk-2.0/gtk/gtk.h libgtk2.0-dev
/usr/include/gtk-3.0/gtk/gtk.h libgtk-3-dev
libgtk-3-dev
为 gtk+3安装。
最后,注意您执行的命令(请参阅我上面提到的链接中的示例):
gcc `pkg-config --cflags gtk+-3.0` -o window-default window-default.c `pkg-config --libs gtk+-3.0`
保持参数的顺序相同。您可能想要添加-墙显示任何需要修复的错误:
gcc `pkg-config --cflags gtk+-3.0` -o window-default window-default.c -Wall `pkg-config --libs gtk+-3.0`
如果您仍然遇到问题,请显示/附加您使用的命令和上述问题提供的输出。