我尝试从源代码构建 GTK2 到 Mac OS X EI Captain。但是通过环境变量(INCLUDE?),发生了错误,我无法构建。请帮助我提供建议吗?
难道没有人遇到过以下错误吗?
hash.c:111:3:错误:使用未声明的标识符“free” obstack_init (&htab->mem_pool); ^ ./obstack.h:294:65:注意:从宏“obstack_init”扩展 (空白() (长)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free) ^ hash.c:53:28:注意:从宏“obstack_chunk_free”扩展 #定义 obstack_chunk_free 自由 ^我认为 gcc 找不到包含文件 malloc.h 。我不明白这是正确的。
首先,我下载了以下软件包。 gtk+-2.24.30、glib-2.28.0、atk-1.29.2、pango-1.20.0、gdk-pixbuf-2.21.3、gettext-0.10.40
我执行了以下操作。
$ cd gettext-0.10.40 $ ./配置 $ 制作然后,出现以下错误。
hash.c:111:3:错误:使用未声明的标识符“free” obstack_init (&htab->mem_pool); ^ ./obstack.h:294:65:注意:从宏“obstack_init”扩展 (空白() (长)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free) ^ hash.c:53:28:注意:从宏“obstack_chunk_free”扩展 #定义 obstack_chunk_free 自由 ^ hash.c:121:3: 警告:函数“free”的隐式声明在 C99 中无效 [-W隐式函数声明] 自由(htab->表); ^ 生成 1 个警告和 1 个错误。Linux 通常发行版的 malloc.h 存在于 /usr/include 中,但 Mac OS X EI Captain 的 malloc.h 存在于 /usr/include/sys 中。所以我执行了以下操作。
$ cd gettext-0.10.40 $ env CPPFLAGS=-I/usr/include/sys ./configure $ 制作然而,同样的错误发生了。这对我来说太难处理了。
谢谢。