我正在尝试在我的一个项目中使用。我正在使用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
$
答案 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运行时,而不是开发包。