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

C&Mac:使用pkg config查找头时遇到问题,c,macos,C,Macos,我正在尝试在我的一个项目中使用。我在Mac上工作,已经获得了带有pkg配置和glib-2.0软件包的MacPorts 当我试图创建一个包含上述路径的include的文件时,为了清楚起见,我在上面得到了下面的错误行,它确实为我提供了正确的dir: $ 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

我正在尝试在我的一个项目中使用。我在Mac上工作,已经获得了带有pkg配置和glib-2.0软件包的MacPorts

当我试图创建一个包含上述路径的include的文件时,为了清楚起见,我在上面得到了下面的错误行,它确实为我提供了正确的dir:

$ 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
$

大概你已经跑过了:

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运行时,而没有安装开发包。

请将shell提示减少为单个字符$,对于普通用户、root用户和C-shell用户,分别使用%和%。它使命令更容易查看。啊,感谢大家的提醒,我永远不知道。列出的目录中有没有glib/glib.h文件,或者只是一个glib.h文件?我的错。我完全看错了方向:我的代码中有一个翻页的打字错误。非常感谢你让我再次检查文件路径。