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++实现LeetCode(137.单独的数字之二)

    C++实现LeetCode(137.单独的数字之二)

    这篇文章主要介绍了C++实现LeetCode(137.单独的数字之二),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • DEV C++自动补全文件头的设置操作教程

    DEV C++自动补全文件头的设置操作教程

    Dev-C++ 是一款轻量级的集成开发环境 (IDE),主要用于 C 和 C++ 的程序编写,它提供了基本的功能来帮助开发者更高效地工作,其中包括文件头的自动补全功能,本文就给大家介绍了DEV C++自动补全文件头的设置操作教程,需要的朋友可以参考下
    2025-04-04
  • C++内存管理面经

    C++内存管理面经

    这篇文章主要介绍了C++的内存分配方式以及介绍了下栈和堆的区别,感兴趣的小伙伴可以参考阅读本文
    2023-03-03
  • 一文读懂C++ 虚函数 virtual

    一文读懂C++ 虚函数 virtual

    这篇文章主要介绍了C++ 虚函数 virtual的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Mingw64编译wxWidgets 3.0.2常见错误分析

    Mingw64编译wxWidgets 3.0.2常见错误分析

    这篇文章主要介绍了Mingw64编译wxWidgets 3.0.2常见错误分析,需要的朋友可以参考下
    2016-11-11
  • 实现posix消息队列示例分享

    实现posix消息队列示例分享

    这篇文章主要介绍了实现posix消息队列示例,学习记录锁,线程互斥量,线程条件变量,内存映射,信号,线程的综合应用,需要的朋友可以参考下
    2014-02-02
  • C++控制台版扫雷游戏

    C++控制台版扫雷游戏

    这篇文章主要为大家详细介绍了C++控制台版扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C++实现LeetCode(11.装最多水的容器)

    C++实现LeetCode(11.装最多水的容器)

    这篇文章主要介绍了C++实现LeetCode(11.装最多水的容器),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++多线程之unique_lock的使用详解

    C++多线程之unique_lock的使用详解

    本文主要介绍了C++多线程之unique_lock的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-04-04
  • C++实现LeetCode(14.最长共同前缀)

    C++实现LeetCode(14.最长共同前缀)

    这篇文章主要介绍了C++实现LeetCode(14.最长共同前缀),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07

最新评论