0

GCC 正在返回以下错误

/usr/include/gtk-2.0/gtk/gtk.h:32:21: fatal error: gdk/gdk.h: No such file or directory

使用find /usr -name 'gdk.h'我能够在

/usr/include/gtk-2.0/gdk/gdk.h

我猜这个错误是由于编译器没有在寻找目录这一事实引起的gtk-2.0gdk尽管我可能会误会这一点。如果我是正确的,那么pkgconfig选项是什么gtk-2.0,如果我错了,我真的做错了什么?

4

3 回答 3

8
pkg-config gtk+-2.0 --libs
pkg-config gtk+-2.0 --cflags

the first gives the option to link the libs, the second the paths; I usually use something like

gcc $(pkg-config gtk+-2.0 --cflags) $(pkg-config gtk+-2.0 --libs) project.c -o project

of course when I want to compile "on the fly". Otherwise, you should use a semiautomatic way of doing this (configure script, Makefiles and so on)

于 2011-06-27T16:54:00.963 回答
1

对我(在 Debian 上)来说,这是一个不同的问题:

检查 GTK_CFLAGS... 在 pkg-config 搜索路径中找不到包 libpng12。也许您应该将包含 `libpng12.pc' 的目录添加到 PKG_CONFIG_PATH 环境变量 Package 'libpng12','GdkPixbuf' 需要,未找到

然后我想起了我前一周遇到的这个 X11-startup-fail 问题,就在将 libpng 升级到最新的实验性之后 - 我已经通过手动恢复以前版本的 .so 文件来解决这个问题。虽然我忘记了 pkgconfig 文件。因此,通过正确“将 libpng12-0:i386 从 1.5.11-1 降级到 1.2.49-1”解决了这个构建问题。底线:查看实际错误上方的配置输出。并且不要安装实验性 libpng,它很有可能会完全破坏你的 GUI ;)

于 2012-07-13T11:40:29.030 回答
0

这个技巧$(pkg-config gtk+-2.0 --cflags) $(pkg-config gtk+-2.0 --libs)解决了我的问题。我想知道为什么 gtk/gtk.h 不在 gtk 目录中。一种重定向混乱。

于 2012-01-04T20:10:57.593 回答