C& Mac:使用pkg-config查找标头时遇到问题

时间:2012-03-03 16:37:09

标签: c macos

我正在尝试在我的一个项目中使用。我正在使用Mac,已经使用pkg-config和glib-2.0软件包获得了MacPorts。

当我尝试将包含include的文件创建到上面的路径时,我得到以下错误(上面的行是为了清楚它实际上给了我正确的dirs):

$ pkg-config --cflags --libs glib-2.0
-I/opt/local/lib/glib-2.0/include -I/opt/local/include -L/opt/local/lib -lglib-2.0 -lintl 
$ make
gcc hash-glib.c -c `pkg-config --cflags --libs glib-2.0` -std=c99 -Wall -Wextra -pedantic -O2
hash-glib.c:2:23: error: glib/glib.h: No such file or directory
$

1 个答案:

答案 0 :(得分:0)

据推测,你已经跑了:

ls -l /opt/local/lib/glib-2.0/include/glib/glib.h \
      /opt/local/include/glib/glib.h

以证明标题#include "glib/glib.h"实际存在于pkg-config告知您可以找到的位置之一。如果它不存在,那么pkg-config会误导你,并且编译器告诉你你已被蒙蔽了。

由于编译器将尽最大努力找到标题,因此合理的选择是文件不在这些位置中。然后,您将接受侦探工作:glib.h标头安装在哪里?

find /opt/local -type f -name glib.h

如果它告诉你它在哪里,你可以找出pkg-config应该说的内容。如果找不到,请扩大搜索范围。如果你仍然找不到它,也许还没有安装呢?或者您只安装了glib运行时,而不是开发包。