首先安装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. sql plus 和 pl/sql无法连接远程oracle数据库

    前言:安装完oracle客户端后,可能会出现sql plus 和 pl/sql无法连接远程oracle数据库的情况,可能是以下原因: 针对sql plus连接不上: 1 可能原因:之前安装过oracl ...

  2. centos 给终端设快捷键

    centos 终端的快捷键是默认是禁用的 设置的话 系统-> 首选项 -> 键盘快捷键 看到运行终端    随便设置想要的快捷键!!

  3. 在Linux-0.11中实现基于内核栈切换的进程切换

    原有的基于TSS的任务切换的不足 进程切换的六段论 1 中断进入内核 2 找到当前进程的PCB和新进程的PCB 3 完成PCB的切换 4 根据PCB完成内核栈的切换 5 切换运行资源LDT 6 利用I ...

  4. centos 6.5 服务器安装 (LNMP ntfs文件支持 PHP-RPM CHROOT沙盒)

    centos 6.5 最小化安装 进入系统 手动开启网卡 #ifconfig eth0        //(默认会自动获得ip) 修改网站配置文件,默认开启 #cd /etc/sysconfig/ne ...

  5. Llinux-apache安装

    第四章  构建LAMP网站服务平台 实验报告 1.安装apache服务器软件及相关组件 查看系统中是否安装apache服务相关的软件包: [root@www /]# rpm -qa | grep ht ...

  6. python学习第二课要点记录

    字典使用时,使用for k,v in items():要将字典转换为元组,因此效率较低,如果数据量较大,就不建议使用这样的形式获取key和value的值,而要使用 for item in dict: ...

  7. C程序设计语言练习题1-23

    练习1-23 编写一个删除C语言程序中所有的注释语句.要正确处理带引号的字符串与字符常量.在C语言中,注释不能嵌套. 代码如下: #include <stdio.h> // 包含标准库的信 ...

  8. EventSystem

    Unity5.0 EventSystem事件系统的详细说明 一.EventSystem对象的说明 当我们在场景中创建任一UI对象后,Hierarchy面板中都可以看到系统自动创建了对象EventSys ...

  9. hdu 1051Wooden Sticks

    #include<cstdio> #include<cstring> #include<algorithm> #define maxn 10000 using na ...

  10. UOJ 216 Jakarta Skyscrapers

    http://uoj.ac/problem/216 题意:给定A,B,C,如果集合中有数i,j(i>j),那么集合就会增加i-j这个数,问有没有在初始集合为{A,B}400步内生成C的方案. 思 ...