jsoncpp源码Linux环境编译

c++的json库,jsoncpp安装和使用 一、cmake编译jsoncpp源码 (1)下载jsoncpp源码 源码地址:https://github.com/open-source-parsers/jsoncpp/tree/0.y.z (2)解压源码 unzip jsoncpp-0.y.z.zip cd jsoncpp-0.y.z (3)使用cmake编译 $ mkdir -p build/debug $ cd build/debug $ cmake -DCMAKE_BUILD_TYPE=debug -DBU. 阅读详情

Jsoncpp 是一个用来处理 Json文本的开源C++库。源码资源的百度网盘链接:https://pan.baidu.com/s/1v6QVf0TNMa6vF-71YubtJQ 提取码:bcu9

windows版本的库编译就不用演示了,将源码文件解压缩之后makefiles文件夹下就有直接可以用VS打开的工程文件,直接双击打开编译完就可以用。重点我们编译一下Linux版本的库,将jsoncpp源码编译成动态库,项目用的时候直接链接动态库就行。

生成libjsoncpp.so动态库

1、将下载的源码库解压后拷贝src和include文件夹至Linux环境编译。如下图:

2、在src文件夹的lib_json目录下编写Makefile文件,格式如下:

# Auth: lijd
# Date: 2021/02/24

CC       := g++
TARGET   := libjsoncpp.so
INCLUDES := ../../include
FLAGES   := $(addprefix -I, $(INCLUDES))

SRCS  	 := $(wildcard *.cpp)

$(TARGET): $(SRCS)
	$(CC) -shared -fPIC -o $@ $^ $(FLAGES)
	@echo "==================================== Build OK!!! ===================================="

.PHONY: clean
clean:
	@rm -rf $(TARGET)

3、在lib_json目录下执行make生产动态库文件,如下图:

测试验证 libjsoncpp.so动态库

1、用源码中自带的"src/test_lib_json"目录下的代码测试,编写类似于上面的Makefile并执行make生产可执行程序并运行测试。Makefile文件及运行流程如下图:

# Auth: lijd
# Date: 2021/02/24

CC       := g++
TARGET   := json_lijd
INCLUDES := ../../include
LIBS     := jsoncpp
LIBDIRS	 := ../lib_json

FLAGES   := $(addprefix -I, $(INCLUDES)) $(addprefix -L, $(LIBDIRS)) $(addprefix -l, $(LIBS))

SRCS  	 := $(wildcard *.cpp)

$(TARGET): $(SRCS)
	$(CC) -o $@ $^ $(FLAGES)
	@echo "==================================== Build OK!!! ===================================="

.PHONY: clean
clean:
	@rm -rf $(TARGET)

2、自己写的测试代码main.cpp及Makefile进行测试。将main.cpp及Makefile放在lijd_test文件夹,并将该文件夹放在src目录下。代码及运行流程如下图:

// 文件main.cpp

#include <iostream>
#include <string>
#include "json/json.h"
using namespace std;

int main()
{

	string test_txt = "{\"CtrType\":2,\"CtrParam\":0,\"CheckCodeLen\":32,\"CheckCode\":\"3939464638453636354246383743313243384530373535354643383930414436\"}";

	Json::Reader reader;
	Json::Value value;

	if (reader.parse(test_txt,value))
	{
		// encoding
		cout << value["CtrType"].asInt() << endl;
		cout << value["CtrParam"].asInt() << endl;
		cout << value["CheckCodeLen"].asInt() << endl;
		cout << value["CheckCode"].asString() << endl;
	}

	return 0;
}
# Auth: lijd
# Date: 2021/2/24

CC       := g++
TARGET   := lijd_test
INCLUDES := ../../include
LIBS     := jsoncpp
LIBDIRS	 := ../lib_json

FLAGES   := $(addprefix -I, $(INCLUDES)) $(addprefix -L, $(LIBDIRS)) $(addprefix -l, $(LIBS))

SRCS  	 := $(wildcard *.cpp)

$(TARGET): $(SRCS)
	$(CC) -o $@ $^ $(FLAGES)
	@echo "==================================== Build OK!!! ===================================="

.PHONY: clean
clean:
	@rm -rf $(TARGET)

程序运行结果如下图:

C++使用Json之jsoncpp安装与使用 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1、开发环境声明 2、jsoncpp源码准备 3、库的创建链接及测试 前言 最近需要进行json数据的处理,在网上找了很多资料,发现大多是在vs上实现的,所以基于我的vsc环境,写了一篇搭建及实战文章。 1、开发环境声明 1.vscode(百度下载的新版),使用wsl的bash终端进行开发。小白可以百度下关键字“vscode配置wsl”。 2.cmake(vscode应用商店下载的) 2、jsoncpp源码准 阅读详情

相关推荐

Jsoncpp新手入门:集成与源码编译

网上查到的教程对新手不太友好,特此记录Jsoncpp使用过程中的一些问题。 本篇内容基于Win10系统,因此安装在Mac或者Linux上的同学可以再找找其他的介绍文章。 JsonCpp介绍 什么是JsonCpp? https://github.com/open-source-parsers/jsoncpp 原文: JsonCpp is a C++ library that allows manipulating JSON values, including serialization an.

zywhehe的博客 4707

安装jsoncpp库以及使用

JSON是轻量级的数据交换格式,本文介绍了通过JSON实现序列化和反序列化。云服务器安装jsoncpp库的命令

m0_61780496的博客 1650

linux jsoncpp 安装编译

今天安装了一个jsoncpp ,jsoncpp 是一个c++ 的json包,支持跨平台        需要首先安装scons,但是要首先安装python,linux下支持了python。 编译scons tar -zvxf scons-2.1.0.tar.gz 设置环境变量 export MYSCONS=解压的路径 export SCONS_LIB_DI

努力在路上 2518

cannot open shared object file: No such file or directory

./demo: error while loading shared libraries: libjsoncpp.so.24: cannot open shared object file: No such file or directory 编译链接成功,执行失败,提示错误。 ldd demo libjsoncpp.so.24 => not found export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/path ...

lemon_and_cola的博客 980

智能车实战——极速越野组GPS与惯导融合定位导航全解析

本文深入解析了智能车极速越野组中GPS与惯导模块的融合定位导航技术。通过对比GPS的全局定位与惯导的高频姿态感知,详细阐述了如何利用MM32SPN27主控,将两者数据融合以实现精准、实时的车辆控制。内容涵盖硬件选型、软件数据处理、PID控制及系统调试等实战环节,为智能车开发者提供了一套完整的解决方案。

pz8901234的博客 1203

AI应用架构师实战:高等教育智能课程推荐系统开发

性能:选课季并发量达1000QPS,推荐响应时间≤500ms(否则学生不耐烦)。数据隐私:符合《教育数据安全管理规范》,学生姓名、学号等敏感信息需匿名化存储。可扩展性:支持新增课程类型(如MOOC、实践课)、新增数据源(如竞赛获奖记录)。教育AI要“以教为中心”:不能纯技术驱动,要和教育工作者深度合作(如教师参与定义课程的前置关系)。数据是核心:数据质量决定推荐效果,要重视数据治理和隐私保护。持续迭代:教育需求是动态的(如每年新增课程、学生目标变化),要定期收集用户反馈,更新模型和策略。张三。

AI大模型应用之禅 1349

jsoncpp 的编译和交叉编译

1、下载源码包 2、解压 解压:tar -zxvf jsoncpp-src-0.5.0.tar.gz 进入解压后路径:cd jsoncpp-src-0.5.0.tar.gz 3、编译 3.1 Ubuntu编译(gcc) 先安装 scons 在直接编译下(相比Makefile要操作简单 )执行下面命令 sudo apt-get install scons scons platform=linux-g...

怡宝的踩坑之路 2357

【信道编码/Channel Coding】线性分组码

这是本专栏信道编码/Channel Coding的第二站,想对信道编码有一个系统性的认识可以看本专栏的信道编码的整体框架一文。而在本篇文章中,将介绍线性分组码的基本原理。

Tomatomatodo的博客 9243

Linux jsoncpp安装与使用

安装scons下载地址 http://prdownloads.sourceforge.NET/scons/scons-2.2.0.tar.gz $ wget http://prdownloads.sourceforge.NET/scons/scons-2.2.0.tar.gz $ cd scons-2.2.0 $ python setup.py install 安装jsoncpp ...

gripex的博客 541

STK中的传感器与通信组件:雷达、发射机、接收机与天线的协同建模

本文深入解析了STK软件中传感器、雷达、发射机、接收机与天线的协同建模方法。通过构建一个完整的卫星对地数传系统实例,阐述了各组件如何分工协作,实现从几何指向到射频链路的高保真仿真,为复杂航天通信与探测系统的设计与分析提供了高效、灵活的解决方案。

weixin_29271263的博客 273

NXP KW45开发实战:如何在MCUXpresso IDE中正确配置J-Link并解决设备识别问题

本文详细介绍了在MCUXpresso IDE中配置J-Link以支持NXP KW45无线MCU开发的实战指南。从环境准备到J-Link深度配置,再到烧录流程优化和高级调试技巧,帮助开发者高效解决设备识别问题并提升开发效率。特别推荐使用JLinkRemoteServer.exe进行多设备并行调试,并提供了烧录速度优化和低功耗调试的实用技巧。

gray5的博客 864

Linux下编译安装JsonCpp(1.9.4)最新版本

前言 在网上找了很多在linux上使用jsoncpp的教程,都是0.5版本的,最后考虑了一下还是用新版本的吧,发个文章记录下编译过程同时帮助一些需要用到新版本的人。 环境搭建 新版本的JsonCpp不再支持scons编译,需要用CMake编译,同时CMake版本必须是3.8以上的,我安装的是3.12.2版本。 CMake安装过程参考文章: https://blog.csdn.net/weixin_43779943/article/details/98485254 安装JsonCpp 1、下载 使用wget

叶飞辰的博客 4544

【系统分析师】高分论文:论基于构件的软件开发(气象灾害影响评估系统)

本文以某手机气象灾害影响评估系统为例,探讨了基于构件技术的软件开发实践。通过分析开发中常见的功能模块重复问题,提出建立企业构件库、针对性选择构件和加强构件管理的解决方案。项目实施中成功复用登录模块等通用构件,并针对气象数据转换需求开发新构件,最终在8个月内高质量完成系统建设。文章总结了构件开发的三个关键点:构件库建设是基础、构件选择需精准、构件管理要规范。同时指出需注意全新需求开发、性能优化等问题,建议通过培训提升团队对构件的理解力。该案例证明构件技术能有效缩短周期、降低成本,为企业积累可复用的技术资产。

数据知道的博客 4253

linux json arm,jsoncpp linux平台编译和 交叉编译

1、下载源码包 我下载版本:jsoncpp-src-0.5.0.tar.gz2、在压缩包目录下执行解压操作,执行命令解压:tar -zxvf jsoncpp-src-0.5.0.tar.gz解压源码.png3、linux 平台编译进入解压得到的文件目录中 : cd jsoncpp-src-0.5.0/先安装 scons 在直接编译下(相比Makefile要操作简单 )执行下面命令sudo apt...

weixin_28965077的博客 340

使用 ChatGPT Store 里的工具给 ABAP 制作 Logo,效果一般

在编程领域中,Domain Specific Language(DSL)是一种特定于某一问题领域的计算机语言,诞生目的就是为了解决该领域特定类型的问题。在 ChatGPT 官网的 GPT Stores,也有很多已经预先配置完毕,专用于某一特定领域的 GPT 工具,OpenAI 将其分类如下。第三个问题是 Logo 的配色,提供蓝白,黑绿和灰黄,以及自定义调色板四种选择。这个 GPT 设计了四个问题,通过一问一答的方式,获得使用者想创建 Logo 的细节。这次的复杂度调成最低的 1,感觉还是有点花里胡哨的。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 507

【WorkBuddy专栏19】技能的创造与迁移——从零开始打造你的AI工作流

【WorkBuddy专栏19】技能的创造与迁移——从零开始打造你的AI工作流

AI人人懂 370

详细版的Jsoncpp的使用,包括在VS环境下配置

本文介绍了 Json 在 C++ 中的使用,附有在 VS 上的配置 Json 的详细过程,还有图片步骤,以及 Jsoncpp 的一般使用

C++/C, Linux 4907

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

linux 下jsoncpp的安装

linux下jsconcpp的安装软件准备: 1.下载jsoncpp-src-0.5.0.tar.gz 2.下载scons-2.3.0.tar.gz(基于python) 安装步骤: 1.解压scons-2.3.0.tar.gz   tar -zxvf scons-2.3.0.tar.gz 2.设置scons的环境变量 # export MYSCONS=/home/scons-2.3.0

u013451354的专栏 2199

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

linux下如何正确安装jsoncpp

tar -zxf scons-2.1.0.tar.gzcd scons-2.1.0python setup.py installtar -zxf jsoncpp-src-0.5.0.tar.gzcd jsoncpp-src-0.5.0scons platform=linux-gccmv libs/linux-gcc-4.2.4/libjson_linux-gcc-4.2.4_libmt.so /li

qianggezhishen的专栏 3346

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

CentOS编译安装jsoncpp库

1. 安装scons 2.安装jsonspp scons下载地址:https://sourceforge.net/projects/scons/files/scons/2.5.1/scons-2.5.1.tar.gz/download 解压->进入目录->安装->查看是否成功 tar zxvf scons-2.5.1.tar.gz cd scons-2.5.1/ python setup.py install scons -v 如果是利用xhell连接虚拟机或者云

CaptainLJP的博客 1135

LINUX下使用JsonCpp

#tar -zxf scons-2.1.0.tar.gz  #cd scons-2.1.0 #python setup.py install #tar -zxf jsoncpp-src-0.5.0.tar.gz  #cd jsoncpp-src-0.5.0 #scons platform=linux-gcc #mv libs/linux-gcc-4.1.2/libjson_linux-gcc-4.

Phoenix_FuliMa 2301

ARM平台移植jsoncpp库

记录了在做嵌入式ARM平台时,移植jsoncpp库的过程笔记

再努力一点点就好了 1434

linux cjson 怎么编译,linux下jsoncpp的编译安装使用

安装JsonCpp需要下载JsonCpp和Scon,pythonscons是一个Python写的自动化构建工具,从构建这个角度说,它跟GNU make是同一类的工具。它是一种改进,并跨平台的gnu make替代工具,其集成功能类似于autoconf/automake 。scons是一个更简便,更可靠,更高效的编译软件。下载JsonCpp:wget http://sourceforge.net/pr...

weixin_35552177的博客 157

JsonCpp移植到ARM

下载 https://github.com/open-source-parsers/jsoncpp 解压 cd到源码目录的src/lib_json目录下执行 arm-linux-g++ -std=c++11 -shared -fPIC *.cpp -I../../include -o libjsoncpp.so 将源码目录的include下的json目录添加到工程中 包含头文件#inclu...

学而不思则罔 761
上一篇: 类模板剖析
下一篇: C++ STL学习总结
码农诗人
博客等级 码龄11年 987粉丝 84原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值