我正在编译我的第一个glib程序,我得到的错误是
first.c:2:19: fatal error: gtypes.h: No such file or directory编译已终止。
我正在使用GLib手册中提到的pkg-config utilit进行编译,这里是pkg-config --cflags glib-2.0的输出
==>-I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include 我用来编译的命令是
gcc `pkg-config --cflags glib-2.0` first.c可能的原因是什么?
发布于 2016-02-27 22:32:43
尝试将include更改为
#include <glib/gtypes.h>你会看到一个错误,告诉你不要直接包含gtypes.h。您的pkg-config用法看起来很好,所以请使用下面的代码,
#include <glib.h>并且它应该包含glib所需的gtypes.h和其他标头。
发布于 2016-03-06 20:55:08
与G*堆栈中的许多其他库一样,GLib附带了多个头文件,但只允许包含来自用户代码的顶级头文件。这是为了避免包含头文件时的依赖问题,以及允许库开发人员在不破坏用户代码的情况下移动定义和符号。
对于GLib,您可以包含的顶级标头按照复杂性的顺序如下:
用于低级类型的
glib.h,和用于GIO输入/输出和高级systemgio/gio.h,(例如GDBus、GSettings等)的GType类型APIglib-object.h,glib.h之后的每个头文件都包含前面的头文件,因此如果您想使用GObject,则不需要包含glib.h;如果您希望使用GObject,则不需要包含glib-object.h。
https://stackoverflow.com/questions/35670197
复制相似问题