首先安装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

ubuntu下libjson-c库的使用问题备忘的更多相关文章

  1. ubuntu 下安装boost库

    ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...

  2. 在Ubuntu下编译Assimp库

    在Ubuntu下编译Assimp库 怎样在Ubuntu下编译Assimp库?这是我曾经编译成功后做的笔记,供參考. 1.去以下的站点去下载Assimp库: http://assimp.sourcefo ...

  3. ubuntu 下使用 jsoncpp库

    做项目的时候需要用c++解析json文件, 之前使用的是libjson 库, 但当g++ 开启 -std=c++11 选项时, 该库的很多功能不能用, 而且还有一些其他的问题, 不推荐使用. 后来采用 ...

  4. Ubuntu下编译Poco库

    本文主要记录下Ubuntu下编译Poco C++库的配置项以备后用.系统版本:Ubuntu 16.04,1 Poco 版本:1.9.0基本的步骤如下: 1.从官网下载最新的Poco源码,地址是:htt ...

  5. ubuntu下安装opencv库+Python2.7环境安装及开发摄像头拍照应用

    好久没有更新了,今天更一篇最近遇到的问题,及解决办法,后面博客得继续写起来 安装 #使用Python下的lib库直接进行安装 apt-get install python-opencv 测试 #使用如 ...

  6. Linux/ubuntu下的boost库安装

    我一直都没有写博客的习惯,最近正好在研究linux下的开发(目前也只是粗粗的研究),且用到了boost库,就乘此机会写点什么,最起码记录一下我在安装boost的一些步骤,主要给和我一样的linux开发 ...

  7. ubuntu 下安装 cx_Oracle库

    1.下载3个zip包: 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.htm ...

  8. ubuntu 下没有pthread库以及报undefined reference to 'pthread_create'的解决方法

    https://blog.csdn.net/dyzhen/article/details/79058554

  9. iOS第三方开源库的吐槽和备忘(转)

    原文:http://www.cocoachina.com/industry/20140123/7746.html 做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽.   目前比较活跃的社区 ...

随机推荐

  1. (转)ecshop 后台商品分类添加图片的功能

    转之--http://blog.sina.com.cn/s/blog_4696b3760100n5ee.html   1 .首先找到数据表 ecs_category (商品分类表) 添加一 cat_i ...

  2. 知识点总结之HTML篇

    1.标签语义化: ①.在不依赖样式的情况下,页面能够呈现清晰的结构. ②.如果使用者有视觉障碍,屏幕阅读器会完全根据你的标记来选择读取你的网页. ③.有利于搜索引擎依赖于标记来确定上下文和各个关键字的 ...

  3. MySQL索引及Explain及常见优化

    MySQL索引设计的原则 1. 搜索的索引列,不一定是所要选择的列.换句话说,最适合索引的列是出现在WHERE 子句中的列,或连接子句中指定的列,而不是出现在SELECT 关键字后的选择列表中的列. ...

  4. C语言基础学习运算符-基本算术运算符

    C语言中用于基本算术运算的运算符有:+,-,*,%,/.这些运算符的用法和你想像到的基本无异: 加法运算符 “+”使得它两侧的值被加到一起. 减法运算符“-”用它前面的数减去后面的数. 乘法由“*”表 ...

  5. python -i filename

    今天学习的时候看见python -i filaname 这个命令,书上说使用这个命令可以去执行filename文件中的代码.但是今天在使用的时候却一直报错,经过多次测试才把问题解决. 原来这个命令是不 ...

  6. 关于几种常用的Adapter使用区别

    Adapter常用的实现类如下: 1.ArrayAdapter:简单.易用的Adapter,通常用于将数组或List集合的多个值包装成多个列表项. 2.SimpleAdapter:并不简单.功能强大的 ...

  7. Mifare 1卡的存储结构

    存取控制指符合什么条件才能对卡片进行操作. S50和S70的块分为数据块和控制块,对数据块的操作有“读”.“写”.“加值”.“减值(含传输和存储)”四种,对控制块的操作只有“读”和“写”两种. S50 ...

  8. Html Meta 标签详解

    http://www.dreamdu.com/xhtml/tag_meta/

  9. ajax vs oauth

    http://www.cnblogs.com/rush/archive/2012/05/15/2502264.html https://www.ibm.com/developerworks/cn/xm ...

  10. onItemClickListener监听的整个item的点击。如何只监听那个framelayout的点击 onItemClickListener监听的整个item的点击。如何只监听那个framelayout的点击

    已经知道了.复写getView()的时候,在内部Viewholder.length.setOnClickListener(匿名内部类)   然后新建一个接口方进去 ,然后外面的listView设置&l ...