gcc 不包含 c 头文件 json-c

yol*_*oam -1 c gcc json header-files json-c

在 Macbook 上,我正在用 json-c( https://github.com/json-c/json-c )做一些事情

gcc a.c
a.c:1:10: fatal error: 'json.h' file not found
#include "json.h"
          ^
1 error generated.`>
Run Code Online (Sandbox Code Playgroud)

当我尝试编译它时,

它打印出错误,但我json.h在包含文件中有文件。

> cd /usr/local/include/json-c/
> ls
arraylist.h            json_config.h          json_tokener.h
bits.h                 json_inttypes.h        json_util.h
debug.h                json_object.h          linkhash.h
json.h                 json_object_iterator.h printbuf.h
json_c_version.h       json_object_private.h  random_seed.h
Run Code Online (Sandbox Code Playgroud)

/usr/include/json-c/json.h 肯定存在

unw*_*ind 6

编译器json-c的包含路径中可能没有子目录。

幸运的是,您可以将其添加到您的包含中:

#include "json-c/json.h"
Run Code Online (Sandbox Code Playgroud)

这只适用于该标头是独立的,即它不引用json-c/.

如果失败,您必须在调用它时告诉编译器:

$ gcc -I/usr/local/include/json-c/ a.c
Run Code Online (Sandbox Code Playgroud)