编译: gcc example.c -I /usr/local/include/json-c -L /usr/local/lib -l json-c
由于是默认安装在 /usr/local/ 目录下面
因此上述可以简化为 gcc example.c -l json-c
example.c 如下:
#include <stdio.h>
#include <json-c/json.h>
int main(int argc, char **argv)
{
/* 创建一个 json 对象 */
struct json_object *obj = json_object_new_object();
/* 给 json 对象 添加内容 */
json_object_object_add(obj, "name", json_object_new_string("jack"));
/* 将 json 对象内容 转为字符串 并且 按2个空格*/
const char *buf = json_object_to_json_string_ext(obj, 2);
printf("%s\n", buf);
return 0;
}
运行:
报错,找不到某个.so 分析,发现这是一个软链接,但是没有建立。
https://blog.csdn.net/weixin_46272553/article/details/127966364
ls -l /usr/loca/lib/libjson-c.so.5
sudo ln -s /usr/local/lib/libjson-c.so.5.3.0 /usr/local/lib/json-c.so.5
指定环境变量:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
最后,运行 OK。