两种安装方式:

  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. HAproxy shell脚本安装

    #!/bin/bash #需要lua-..tar.gz在家目录下 # 编译安装lua #安装编译环境需要的包 yum -y install gcc openssl-devel pcre-devel s ...

  2. mysql 主键和默认 设为索引的规则

    一.mysql 表中如果是单主键的话,那这个主键也会被 系统默认建为 索引 二.mysql 表中如果是复合主键的话,那系统会遵循左对齐原则,即如复合主键 a 和 b字段和c字段..., 默认建的主键索 ...

  3. Thymeleaf+SpringBoot+SpringDataJPA实现的中小医院信息管理系统

    项目简介 项目来源于:https://gitee.com/sensay/hisystem 作者介绍 本系统是基于Thymeleaf+SpringBoot+SpringDataJPA实现的的中小医院信息 ...

  4. sublime text3配置html环境

    1.安装View in Browser 2.配置快捷键 [1]Preferences—Key Bindings—User. [2]插入代码 [ //ie { "keys": [&q ...

  5. D. Minimax Problem Codeforces 1288D binary_search+二进制

    题目大意:n*m的矩阵中,找到两行数,可以形成两个一维数组,数组1的位置i和数组2的位置i去最大构成新数组b的元素b[i],最终目的要使数组b中最小的数尽可能的大 题解: m的范围是(1,8),比较小 ...

  6. 【转】动态规划之最长公共子序列(LCS)

    [原文链接]最长公共子序列(Longest Common Subsequence,简称 LCS)是一道非常经典的面试题目,因为它的解法是典型的二维动态规划,大部分比较困难的字符串问题都和这个问题一个套 ...

  7. 数据结构(C语言版)---排序

    1.排序:重排表中元素. 2.根据数据元素是否完全在内存中,将排序算法分为内部排序和外部排序两类. 3.插入排序:将一个待排序记录按关键字大小插入到前面已排好的子序列中,直到全部记录插入完成. 1)直 ...

  8. Spring Cloud 系列之 Sleuth 链路追踪(三)

    本篇文章为系列文章,未读前几集的同学请猛戳这里: Spring Cloud 系列之 Sleuth 链路追踪(一) Spring Cloud 系列之 Sleuth 链路追踪(二) 本篇文章讲解 Sleu ...

  9. thinkphp5 不使用form,用input+ajax异步上传图片

    不支持$this->request->file()获取图片 后台接收文件请使用$_FILE 正文开始: HTML <div class="upload"> ...

  10. 记一次virtualbox和夜神模拟器冲突的问题

    今天装了夜神模拟器之后发现vbox打不开了,百度了一堆都说要什么重装系统啥的,我这边提示的是 “创建失败(被召者 RC: REGDB_E_CLASSNOTREG (0x80040154))” 先是用管 ...