Ubuntu20.04安装使用jsoncpp、json-c库的方法实例

 更新时间:2024年04月17日 10:04:30   作者:༺ཌ¥ད༻  
这篇文章主要给大家介绍了关于Ubuntu20.04安装使用jsoncpp、json-c库的相关资料,文中通过代码介绍的非常详细,对大家的学习或者工作就有一定的参考借鉴价值,需要的朋友可以参考下

1.更新源

sudo apt-get update

2.安装

sudo apt-get install libjsoncpp-dev

3.检查安装是否成功

ls /usr/include/jsoncpp/json/

4.使用

使用的时候包含头文件#include <jsoncpp/json/json.h>编译的时候链接库g++ -ljsoncpp

5.同样步骤安装json-c

sudo apt install libjson-c-dev
ls /usr/include/json-c/

使用的时候包含头文件#include <json-c/json.h>编译的时候链接库g++ -ljson-c

附: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

总结

到此这篇关于Ubuntu20.04安装使用jsoncpp、json-c库的文章就介绍到这了,更多相关Ubuntu安装使用jsoncpp、json-c库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C/C++实现Windows注册表的基本操作

    C/C++实现Windows注册表的基本操作

    Windows注册表(Registry)是Windows操作系统中用于存储系统配置信息、用户设置和应用程序数据的一个集中式数据库,本文主要为大家介绍了C++对注册表的基本操作,感兴趣的小伙伴可以了解下
    2023-11-11
  • FFmpeg获取网络摄像头数据解码

    FFmpeg获取网络摄像头数据解码

    这篇文章主要为大家详细介绍了FFmpeg获取网络摄像头数据解码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • c语言 字符串转大写的简单实例

    c语言 字符串转大写的简单实例

    这篇文章主要介绍了c语言 字符串转大写的简单实例,有需要的朋友可以参考一下
    2013-12-12
  • C语言中队列的结构和函数接口的使用示例

    C语言中队列的结构和函数接口的使用示例

    队列只允许一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO的性质;队列可用数组和链表 的方法实现,使用链表的结构实现更优一些,因为如果使用数组节,出队列时删去首元素需要将整个数组前移,效率比较低
    2023-02-02
  • C++ 构造函数学习笔记

    C++ 构造函数学习笔记

    这篇文章主要为大家介绍了C++ 构造函数学习笔记,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • C语言数据结构实现链表逆序并输出

    C语言数据结构实现链表逆序并输出

    这篇文章主要介绍了C语言数据结构实现链表逆序并输出的相关资料,需要的朋友可以参考下
    2017-04-04
  • c语言打印输出双引号的方法示例

    c语言打印输出双引号的方法示例

    这篇文章主要介绍了c语言打印输出双引号的方法,大家参考使用吧
    2013-11-11
  • C语言格式输出方式

    C语言格式输出方式

    本文介绍了C语言中printf函数的格式输出,包括整数和浮点数的格式化输出方法,以及如何通过指定宽度和小数位数来控制输出格式
    2025-01-01
  • C++ 中的new 和 delete 运算符及new和malloc的区别解析

    C++ 中的new 和 delete 运算符及new和malloc的区别解析

    在C++中,又引出了一个新玩法:new 和 delete,在C++中,new是用来动态开辟内存的,delete是用来释放我们所动态开辟的内存C++中的new和delete运算符及new和malloc的区别解析,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • C++17实现flyweight_factory模板类及使用示例详解

    C++17实现flyweight_factory模板类及使用示例详解

    这篇文章主要为大家介绍了C++17实现flyweight_factory模板类及使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08

最新评论