我第一次涉足 C/C++/GTK,但无法编译基本的 GTK+ 程序。我有sample.c。如果我尝试用
$ gcc sample.c -o sample 'pkg-config --cflags --libs gtk+-3.0'
它抱怨没有文件或目录。
Package gtk+3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+3.0' found
为了排除故障,我尝试过:
$ gcc sample.c -o sample
很明显,我得到 gtk/gtk.h 没有这样的文件或目录。
当我尝试
$ pkg-config --cflags gtk+-3.0
我明白了
-pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12
和
$ pkg-config --libs gtk+-3.0
给了我这个:
Package gtk+3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+3.0' found
我正在使用全新安装的 Mint 15,并且通过包管理器安装了 libgtk-3-dev,依赖项得到满足。我知道它的基本知识,但我无法完全理解我需要做什么。
编辑 自从上面的帖子以来,我已经安装了 gtk+3.0 包(安装了一堆其他包),现在我得到了这个:
$ pkg-config --libs gtk+-3.0
-lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0
现在我得到了错误
gcc: error: pkg-config --libs --cflags gtk+-3.0: No such file or directory
编辑 2: 在搞砸了很长时间之后,我运行了这个命令
$ pkg-config --libs --cflags gtk+-3.0
并将输出复制到下一个命令中:
$ gcc simple.c -o simple {pasted output of successful pkg-config command}
并且程序编译得很好。
$ gcc simple.c -o simple 'pkg-config --libs --cflags gtk+-3.0'
虽然仍然不起作用,但我收到以下错误:
gcc: error: pkg-config --libs --cflags gtk+-3.0: No such file or directory
解决方案?