两种安装方式:

  1. 通过cmake安装
  2. 通过scons安装

cmake安装见cmake安装jsoncpp,scons安装见下文。

1. 安装scons

tar zxvf scons-2.5..tar.gz
export MYSCONS=/root/file/scons-2.5.
export SCONS_LIB_DIR=$MYSCONS/engine

MYSCONS要换成你自己文件的路径。

(我还把这两行export添加到了 /etc/profile 文件中了。)

2. 编译安装jsoncpp

tar zxvf jsoncpp-1.8..tar.gz
cd jsoncpp-1.8.
python $MYSCONS/script/scons platform=linux-gcc

3. 路径设置

把源码中的json文件夹拷贝到/usr/local/include目录下

把生成的.a和.so文件拷贝到/usr/local/lib目录下。

打开/etc/profile,添加以下内容:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/lib

保存,再来一句: source /etc/profile,修改立即生效。

安装结束。

----------------------------

一个Demo:

#include <iostream>
#include "json/json.h" using namespace std; int main()
{
Json::Value root;
root["key1"] = "value1";
root["key2"] = "value2"; Json::Value value31;
value31["key31"] = "value31";
value31["key32"] = "value32";
Json::Value value3;
value3.append(value31); // value3[0] = value31;
root["key3"] = value3;
//for (Json::Value::const_iterator it = value3.begin(); it != value3.end(); it++) {
// Json::Value currentValue = *it;
// for (Json::Value::const_iterator it = currentValue.begin(); it != currentValue.end(); it++) {
// cout << (*it).asString() << endl;
// }
//}
Json::Value value4;
value4["key41"] = "value41";
value4["key42"] = "value42";
root["key4"] = value4;
//for (Json::Value::const_iterator it = value4.begin(); it != value4.end(); it++) {
// cout << (*it).asString() << endl;
//}
Json::Value value5;
value5[] = "value51";
value5[] = "value52";
value5[] = "value53";
root["key5"] = value5;
//for (Json::Value::const_iterator it = value5.begin(); it != value5.end(); it++) {
// cout << (*it).asString() << endl;
//}
string str = root.toStyledString();
cout << "Json 大小为: " << root.size() << endl;
cout << "Json 值为: " << str << endl; for (Json::Value::const_iterator it = root.begin(); it != root.end(); it++) {
string key = it.name();
cout << "Current Json key is: " << key << endl;
Json::Value value = *it;
cout << "Current Json value is: " << value << endl;
cout << "Current Json value size is: " << value.size() << endl; cout << endl;
} return ;
}

执行结果:

参考文档:

CentOS源码安装Jsoncpp

CentOS安装jsoncpp的更多相关文章

  1. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  2. 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...

  3. 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...

  4. CentOS安装Apache-2.4.10+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...

  5. CentOS安装Nginx-1.6.2+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了pcre等基础组件,具体见<CentOS安装LNMP环境的基础 ...

  6. CentOS安装MySQL-5.6.10+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装MySQL之前,请确保已经使用yum安装了各类基础组件,具体见<CentOS安装LNMP环境的基础组件& ...

  7. 转: CentOS 安装 SVN1.8 客户端

     from: http://blog.csdn.net/clementad/article/details/46898091 CentOS 安装SVN客户端 标签: subversionrpmcent ...

  8. CentOS安装gitLab服务器

    首先利用gitlab-install-el6.sh安装,比较简单: (出处:http://www.linuxidc.com/Linux/2013-06/85754.htm) 1:如果有条件,提供一台全 ...

  9. 【推荐】CentOS安装Tomcat-7.0.57+启动配置+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Tomcat之前,请确保已经安装了JDK-1.7环境,具体见<CentOS安装JDK-1.7>. ...

随机推荐

  1. shell命令-for语句

    数字循环 sum=0 for((i=1;i<=10;i++)) do sum=$(($sum+$i)) echo "$i:$sum" done 字符循环 for i in ` ...

  2. spring jar 包 用处功能:

    自己积累的: @   spring-context-3.0.5.RELEASE.jar :主要用于 spring程序中加载类 ApplicationContext 用.eq: ApplicationC ...

  3. Pytest系列(23)- allure打标记,@allure.feature()、@allure.story()、@allure.severity()的详细使用

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 前面几篇文章主要介绍了all ...

  4. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(九)之Interfaces

    Interfaces and abstract classes provide more structured way to separate interface from implementatio ...

  5. Ajax 简述与基础语法

    目录 Ajax 1. 原生 JS 实现 Ajax 2. 使用 Ajax 实现异步通信 a. Ajax 的基础语法 b. 用 Ajax 传递数据 i. 传递字符串数据 ii. 传递 JSON 数据 3. ...

  6. java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换

    java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换 一.字符串与其他类型连接 public class DemoString{ public static void mai ...

  7. shift后门

    shift快捷 Windows的粘滞键------C:\windows\system32\sethc.exe,它本是为不方便按组合键的人设计的 Windows系统按5下shift后,Windows就执 ...

  8. 深入浅出webpack笔记

    1.CommonJS CommonJS是一种被广泛使用的JavaScript模块化规范,其核心思想是用过require方法来同步加载依赖的其他模块,通过moudle.exports导出需要暴露的接口, ...

  9. 用Java代码来校验QQ号

    校验qq号码: 1.要求必须是5-15位数字 2.0不能开头 分析: A:键盘录入一个qq号码 B:写一个功能实现校验 C:调用功能,输出结果. 代码实现:public class RegexDemo ...

  10. Python爬取全球疫情数据,实现可视化显示地图数据(附代码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 武汉地区,目前已经实现住院患者清零了,国内疫情已经稳定,然而中国以外新冠确 ...