我已经按照这里的说明安装了GTK:http://www.gtk.org/download/win32_tutorial.php
现在,我正在尝试从这里构建一个GTK hello world程序:https://developer.gnome.org/gtk-tutorial/stable/c39.html#SEC-HELLOWORLD
我遇到了这个错误:
In file included from C:/gtk/include/gtk-3.0/gdk/gdkcairo.h:28:0,
from C:/gtk/include/gtk-3.0/gdk/gdk.h:33,
from C:/gtk/include/gtk-3.0/gtk/gtk.h:30,
from gtk_hello_world.c:1:
C:/gtk/include/gtk-3.0/gdk/gdkpixbuf.h:34:35: fatal error: gdk-pixbuf/gdk-pixbuf
.h: No such file or directory
#include <gdk-pixbuf/gdk-pixbuf.h>
^这似乎和How to repair "error: gdk-pixbuf/gdk-pixdata.h: No such file or directory?"是一个问题,但我不明白这个问题的答案。
以下是编译器的命令行
C:\Users\James\code\smartone>gcc -o hello.exe gtk_hello_world.c -m32 -mms-bitfie
lds -IC:/gtk/include/gtk-3.0 -IC:/gtk/include/cairo -IC:/gtk/include/pango-1.0 -
IC:/tk/include/atk-1.0 -IC:/gtk/include/cairo -IC:/gtk/include/pixman-1 -IC:/gtk
/inlude -IC:/gtk/include/freetype2 -IC:/gtk/include -IC:/gtk/include/libpng15 -I
C:/gtk/include/libpng15 -IC:/gtk/include/glib-2.0 -IC:/gtk/lib/glib-2.0/include
-LC:/gtk/lib -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshel32 -lole32 -Wl,-luuid -lpango
cairo-1.0 -lpangoft2-1.0 -lfreetype -lfontconfig -lpangowin32-1.0 -lgdi32 -lpang
o-1.0 -lm -latk-1.0 -lcairo-gobject -lcairo -lgdkpixbuf-2.0 -lgio-2.0 -lgobject-
2.0 -lglib-2.0这主要是使用
pkg-config --cflags --libs gtk+-3.0
-mms-bitfields -IC:/gtk/include/gtk-3.0 -IC:/gtk/include/cairo -IC:/gtk/include/
pango-1.0 -IC:/gtk/include/atk-1.0 -IC:/gtk/include/cairo -IC:/gtk/include/pixma
n-1 -IC:/gtk/include -IC:/gtk/include/freetype2 -IC:/gtk/include -IC:/gtk/includ
e/libpng15 -IC:/gtk/include/gdk-pixbuf-2.0 -IC:/gtk/include/libpng15 -IC:/gtk/in
clude/glib-2.0 -IC:/gtk/lib/glib-2.0/include -LC:/gtk/lib -lgtk-3 -lgdk-3 -lgdi3
2 -limm32 -lshell32 -lole32 -Wl,-luuid -lpangocairo-1.0 -lpangoft2-1.0 -lfreetyp
e -lfontconfig -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lm -latk-1.0 -lcairo-gobjec
t -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl发布于 2019-08-21 02:13:32
我知道这个问题非常古老,但是我在Debian Stretch上编译源代码中的xscreensaver时遇到了这个错误,我发现缺少的包是libglade2-dev,尽管所有的直觉都可能表明它是libgdk-pixbuf2.0-dev
希望这能帮助下一个寻找这个问题答案的人。
发布于 2013-12-05 20:17:52
我们需要导致错误的确切的gcc命令行。如果找不到这个文件,那是因为pkg-config无法将gdk-pixbuf安装的正确位置传递给gcc。
首先,运行pkg-config --list-all | grep gdk-pixbuf获取您机器上gdk-pixbuf模块的确切名称(对于我来说,它是gdk-pixbuf-2.0)。使用该名称检查pkg-config认为安装了gdk-pixbuf的目录:
pkg-config --cflags gdk-pixbuf-2.0
给我的回报:
-pthread -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng15 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I告诉gcc这里包含目录/usr/include/gdk-pixbuf-2.0。这就是你的文件所不在的地方。
https://stackoverflow.com/questions/20383441
复制相似问题