两种安装方式:

  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. TensorFlow保存、加载模型参数 | 原理描述及踩坑经验总结

    写在前面 我之前使用的LSTM计算单元是根据其前向传播的计算公式手动实现的,这两天想要和TensorFlow自带的tf.nn.rnn_cell.BasicLSTMCell()比较一下,看看哪个训练速度 ...

  2. 360众测考试,weblogic题(CVE-2018-2894)文件上传漏洞

    0x01 漏洞简介 Weblogic管理端未授权的两个页面存在任意上传jsp文件漏洞,进而获取服务器权限. Oracle 7月更新中,修复了Weblogic Web Service Test Page ...

  3. Nginx+uWSGI+Python+Django构建必应高清壁纸站

    写在前面 做这个网站的初衷是因为,每次打开必应搜索搜东西的时候都会被上面的背景图片吸引,我想必应的壁纸应该是经过专业人员精选出来的,我甚至会翻看以前的历史图片,唯一美中不足的是必应的首页只能查看最多7 ...

  4. matlab计算样本熵

    计算14通道得脑电数据吗,将得出的样本熵插入Excel表格 a = zeros(1,14); b = a'; for i =1:14 b(i) = SampEn(d1_1(i,1:3000),2,0. ...

  5. golang实现常用集合原理介绍

    golang本身对常用集合的封装还是比较少的,主要有数组(切片).双向链表.堆等.在工作中可能用到其他常用的集合,于是我自己对常用的集合进行了封装,并对原理做了简单介绍,代码库地址:https://g ...

  6. F - Bone Collector

    Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like ...

  7. HBase BucketAllocatorException 异常剖析

    近日,观察到HBase集群出现如下WARN日志: 2020-04-18 16:17:03,081 WARN [regionserver/xxx-BucketCacheWriter-1] bucket. ...

  8. 详解JS闭包概念

    闭包理解 1.  如何产生闭包?    *当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时,产生闭包 2.  闭包到底是什么?    * 使用Chrome调试查看    * 理解一 ...

  9. Laravel - 上手实现 - 邮件发送

    Laravel 自带 SwiftMailer 库,集成了多种邮件API,可以很方便的实现邮件的发送. 我们使用到的是SMTP(Simple Message Transfer Protocol)简单邮件 ...

  10. 双系统情况下,ubuntu开机挂载Windows分区

    首先:blkid,查看分区所属uuid 其中 /dev/sda5 就是Windows分区 其次:fdisk -l,查看分区情况 通过硬盘大小找到对应要设置的具体分区(其实这步也不用,我只是为了确定) ...