当前位置: 首页 > news >正文

jsoncpp-src-0.5.0编译

源码下载:

https://github.com/janelia-flyem/S-Cpp/tree/master/json/jsoncpp-src-0.5.0

或者

https://sourceforge.net/projects/jsoncpp/

Linux编译:

一.编译环境安装Python二.Scons安装步骤:
1.    解压:tar -zxvf scons-2.0.1.tar.gz
2.    设定环境变量:
# export MYSCONS=解压的路径
# export SCONS_LIB_DIR=$MYSCONS/engine三.Json编译步骤:
假设jsoncpp目录在/root/software/jsoncpp-src-0.5.0/
# cd jsoncpp-src-0.5.0
# python $MYSCONS/script/scons platform=linux-gcc在jsoncpp-src-0.5.0/libs/linux-gcc目录下可以看到
libjson_linux-gcc-4.4.4_libmt.a
libjson_linux-gcc-4.4.4_libmt.so直接把 libjson_linux-gcc-4.4.4_libmt.so 改名为 libjson.so 即可

windows编译

1. 解压下载好的文件:jsoncpp-src-0.5.0.tar.gz
2. 利用VS2013(也可以用其他版本VS编辑器打开)打开jsoncpp-src-0.5.0\makefiles\vs71目录下的jsoncpp.sln,会出现三个Project:jsontest, lib_json, test_lib_json
3. 检查设置:在lib_json上右击-->Properties-->Configuration Properties-->C/C++-->Code Generation,检查设置是否为RunTime  Library  为MTD  
4. 切换配置中需要生成的平台,win32还是x64,debug版本还是release版本

调用

编译后导入lib和include文件即可
#include "json.h"
//解析
response = 
{"apiresponse": {"status_code": 200,"status_text": "Success","result": [{"item": {"rtc_num": "DF","rtc_description": "V3 PORTABLES","site_num": "1"}},{"item": {"rtc_num": "00","rtc_description": "RTC00 ON CDC","site_num": "1"}},{"item": {"rtc_num": "DE","rtc_description": "Test on Lab","site_num": "1"}}]}
}Json::Reader reader;Json::Value  value;if (reader.parse(response, value)){int status_code = value["apiresponse"]["status_code"].asInt();std::string status_text = value["apiresponse"]["status_text"].asString();if(status_code == 200){int size = value["apiresponse"]["result"].size();//解析数组for(int i = 0;i<size;++i){stCEMControllerInfo stController;stController.id = value["apiresponse"]["result"][i]["item"]["rtc_num"].asString();stController.description = value["apiresponse"]["result"][i]["item"]["rtc_description"].asString();stController.site_num = value["apiresponse"]["result"][i]["item"]["site_num"].asString();//listController.push_back(stController);}}else{//TVT_LOG_ERROR("response Err = " << status_code <<", details="<< status_text.c_str());return false;}}

http://www.lqws.cn/news/506665.html

相关文章:

  • Python Bug 修复案例分析:编码问题导致程序出现bug 两种修复方法
  • Redis哈希表Rehash全解析:扩容缩容背后的渐进式智慧
  • SpringBoot 自动化部署实战:CI/CD 整合方案与避坑全指南
  • 相较于传统购物,AR 购物在便利性方面体现在哪些维度?​
  • IDC报告AR/VR市场反弹Meta份额超半,谷歌/微美全息精准卡位AR/AI眼镜市场机遇
  • 快速搭建系统原型,UI界面,有哪些高效的AI工具和方法
  • 数智助农 金融兴乡:中和农信双轮驱动农业现代化实践
  • 重医等利用纯生信在iMeta(中科院1区|IF33.2)发表:多组学联合分析西部五省母婴队列数据
  • 【C/C++】C++ 编程规范:101条规则准则与最佳实践
  • (LeetCode 面试经典 150 题 )121. 买卖股票的最佳时机 (遍历)
  • 【Unity】MiniGame编辑器小游戏(四)数独【Sudoku】
  • 战略调整频繁,如何快速重构项目组合
  • Kubernetes生命周期管理:深入理解 Pod 生命周期
  • 【数据结构】_二叉树的遍历与销毁
  • 交易期权先从买方开始
  • 【Linux网络与网络编程】15.DNS与ICMP协议
  • 打包上传到Linux部署并启动
  • 【JS-4.8-type属性】深入理解DOM操作中的type属性及其常见应用
  • Python 猜数字小游戏:Tkinter 实现的互动猜数挑战
  • 国际标准 ISO 8601 详解
  • SpringBoot + MyBatis 事务管理全解析:从 @Transactional 到 JDBC Connection 的旅程
  • NVIDIA GPU架构学习笔记
  • SpringBoot项目快速开发框架JeecgBoot——项目简介及系统架构!
  • WPF CommunityToolkit.Mvvm 信使 (ObservableRecipient)
  • EasyExcel单元格内换行,合并单元格
  • 记录一下小程序城市索引栏开发经历
  • 鸿蒙开发深入解析:Service Ability(后台任务)全面指南
  • Spring Boot 返回错误文件的正确性分析与优化
  • httpbin.org是什么,有什么作用
  • 验证 TCP 连接在异常情况下的断开机制之进程(客户端)被 kill 掉