找不到glib.h和gtk.h

问题描述 投票:2回答:3

嗨,每一个我都有一个程序,我有包括

  • GTK / gtk.h
  • glib.h

我用过命令

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

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

我在做c编程

c linux gtk glib gtk2
3个回答
10
投票

您应该使用的命令(在最近的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)

这定义了一个简单的规则,说要使foo,它取决于foo.c,所以foo.c比foo更新,它将被重建。我在这里写'TAB HERE NOT SPACES'它必须是制表符,并且不能是一组空格字符。


2
投票

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

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


1
投票

请阅读官方文档。它解释了how to compile GTK applications。基本上编译一个hello.c文件来生成一个hello程序,你将输入:

gcc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello
© www.soinside.com 2019 - 2024. All rights reserved.