3

大家好,我有一个程序,其中包括

  • gtk/gtk.h
  • glib.h

我用过命令

sudo apt-get install libgtk2.0-dev glib 
sudo apt-get install glade

但仍然收到 glib not found 和 gtk/gtk.h not found 的错误。我是第一次使用这个 gtk 。不知道它是如何工作的如何安装它请帮助我谢谢

我在做c编程

4

3 回答 3

11

您应该使用的命令(在最近的 linux/gtk 版本中)是 pkg-config,而不是 gtk-config。gtk-config 用于 2.0 之前的 gtk 开发。

考虑您正在编译的文件名为 foo.c,要在 gtk-2.0 下编译它,您可以从命令行使用以下命令:

gcc `pkg-config --cflags glib-2.0 gtk+-2.0` foo.c -o foo `pkg-config --libs glib-2.0 gtk+-2.0`

这应该编译,并给你一个可以执行的文件 foo。

但实际上,使用makefile,因为这些东西一直打字很痛苦。我会写出一个示例 makefile,但是在格式化它们时需要遵循一些规则,这使得在编辑器窗口中输入变得困难。

# Sample Makefile
CFLAGS := $(shell pkg-config --cflags glib-2.0 gtk+-2.0)
LDFLAGS := $(shell pkg-config --libs glib-2.0 gtk+-2.0)

foo: foo.c
<TAB HERE NOT SPACES>$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)

这定义了一个简单的规则,说 make foo,它依赖于 foo.c,所以 foo.c 比 foo 更新,它将被重建。在我写“TAB HERE NOT SPACES”的地方,它必须是一个制表符,不能是一组空格字符。

于 2011-03-11T20:02:39.227 回答
2

输入“locate glib.h”来确定文件的位置(假设是当代的 linux 发行版——你的帖子没有提供太多信息)。

然后确保在 Makefile 中正确指定 glib.h 的路径。(您确实有一个 Makefile,不是吗?)对 gtk.h 执行相同的步骤。

于 2011-03-11T19:30:24.913 回答
1

请阅读官方文档。它解释了如何编译 GTK 应用程序。基本上要编译hello.c文件以生成hello程序,您将键入:

gcc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello
于 2011-03-14T09:27:26.390 回答