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

shopro 商城,2025年新申请的微信支付提示失败,支付提示 Get Wechat Public Cert Error 问题的修复办法

shopro 商城,最近新申请的微信支付商户 支付提示 Get Wechat Public Cert Error 问题的修复办法

行走的卡路里 1244

Python爬虫实战(基础篇)—23—爬取微信小程序<随机目的地旅行>生成随机地址(附GUI版)

爬取微信小程序<随机目的地旅行>生成随机地址

weixin_42636075的博客 1228

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

移远EC800M CAT1模块HTTP POST实战:从AT指令到数据上报的完整避坑指南

本文详细介绍了移远EC800M CAT1模块通过AT指令实现HTTP POST数据上报的完整开发流程,包括模块初始化、PDP上下文配置、HTTP POST实现及优化策略。针对实际开发中的常见问题如网络异常、低功耗需求等提供了经过验证的解决方案,帮助开发者快速实现稳定可靠的物联网数据传输功能。

weixin_42556197的博客 479

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

Win10无外网热点搭建全指南:纯局域网通信与设备互联

热点并不是只有共享上网一种用途。在很多工程与办公场景中,我们需要的是让手机、笔记本、开发板等设备临时组成一个纯内网,完成文件传输、端口调试或局域网联机,而不需要任何外网出口。Win10笔记本在不连接互联网的状态下,借助系统移动热点或netsh承载网络,完全可以创建一个无外网热点,实现设备间二层互通。其核心在于利用SoftAP建立虚拟无线接入点,并绕开或禁用ICS的NAT转发。掌握这一技术,可在会议、出差、物联网调试等场景中快速搭建临时局域网,无需额外路由器。本文详细梳理三种实现路径、操作步骤及常见故障排查,

weixin_29230773的博客 238

【黑马点评】项目知识点及面经整理

【黑马点评】项目知识点及面经整理

m0_52031708的博客 6602

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

地图可视化类型大全

地图可视化类型大全: 散点地图 网格地图 聚合地图 气泡地图 热力图 Choropleth地图/分级设色地图/分级区域地图/着色地图/分级统计地图(百度百科这样翻译)/等值域地图/分段设色地图 Cartogram地图/变形地图/示意地图 规则形状地图 /RecMap/Demers Cartogram/瓷砖网格地图/DorlingMap 流型图(Flow Map)\流线图\流向图\轨迹地图 复合地图

codeuniverse的博客 3532

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

华为od 面试八股文_测试/测试开发_05_含答案

华为od 面试八股文_测试/测试开发_05_含答案

MISAYAONE的博客 2556

电子电器架构 --- OEM企标中规定ECU启动时间的目的

电子电器架构 --- OEM企标中规定ECU启动时间的目的

Soly_kun的博客 223

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

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

C++/C, Linux 4906

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

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年 986粉丝 84原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值