ubuntu下libjson-c库的使用问题备忘

首先安装libjson的c库
#apt-get install libjson0-dev libjson0

安装好后查看/usr/include/json下是否有头文件,有就对了!
gcc -o json-demo -g json-demo.c -std=c99 -I/usr/include/json -L/usr/lib/i386-linux-gnu/ -ljson


注意:
    1、json-demo和json-demo.c参数需要在前面,不能在后面,见错误1
    2、需要就爱如-std=c99,代码中需要,也可以用-std=gnu99,见错误2
    3、-I是json的头文件的路径
    4、-L是json库所在位置,这个路径可能根据系统不同而不同,建议用find / -name "libjson*"找到位置
    5、-ljson不可省略,尽量放在最后,没有这个参数会出现错误1的现象

错误1:
jack@ubuntu:~/json-c$ gcc -I/usr/include/json -L/usr/lib/i386-linux-gnu/ -ljson -std=gnu99   -o json-demo -g json-demo.c 
/tmp/ccaITRtr.o: In function `GetValByKey':  
/home/jack/json-c/json-demo.c:13: undefined reference to `json_object_object_get'  
/home/jack/json-c/json-demo.c:16: undefined reference to `json_object_get_type'  
/home/jack/json-c/json-demo.c:20: undefined reference to `json_object_get_string'  
/home/jack/json-c/json-demo.c:23: undefined reference to `json_object_get_int'  
/tmp/ccaITRtr.o: In function `main':  
/home/jack/json-c/json-demo.c:39: undefined reference to `json_object_new_string'  
/home/jack/json-c/json-demo.c:41: undefined reference to `json_object_get_string'  
/home/jack/json-c/json-demo.c:43: undefined reference to `json_object_to_json_string'  
******

错误2:没有加-std=99参数的错误
jack@ubuntu:~/json-c$ gcc -o json-demo -g json-demo.c -I/usr/include/json -L/usr/lib/i386-linux-gnu/ -ljson  
json-demo.c: In function ‘main’:  
json-demo.c:87:2: error: ‘for’ loop initial declarations are only allowed in C99 mode  
json-demo.c:87:2: note: use option -std=c99 or -std=gnu99 to compile your code


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值