CentOS安装jsoncpp
两种安装方式:
- 通过cmake安装
- 通过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的更多相关文章
- CentOS安装gitlab,gerrit,jenkins并配置ci流程
CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...
- 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...
- 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...
- CentOS安装Apache-2.4.10+安全配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...
- CentOS安装Nginx-1.6.2+安全配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了pcre等基础组件,具体见<CentOS安装LNMP环境的基础 ...
- CentOS安装MySQL-5.6.10+安全配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装MySQL之前,请确保已经使用yum安装了各类基础组件,具体见<CentOS安装LNMP环境的基础组件& ...
- 转: CentOS 安装 SVN1.8 客户端
from: http://blog.csdn.net/clementad/article/details/46898091 CentOS 安装SVN客户端 标签: subversionrpmcent ...
- CentOS安装gitLab服务器
首先利用gitlab-install-el6.sh安装,比较简单: (出处:http://www.linuxidc.com/Linux/2013-06/85754.htm) 1:如果有条件,提供一台全 ...
- 【推荐】CentOS安装Tomcat-7.0.57+启动配置+安全配置+性能配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Tomcat之前,请确保已经安装了JDK-1.7环境,具体见<CentOS安装JDK-1.7>. ...
随机推荐
- es搜索排序不正确
沿用该文章里的数据https://www.cnblogs.com/MRLL/p/12691763.html 查询时发现,一模一样的name,但是相关度不一样 GET /z_test/doc/_sear ...
- 超详细Go语言源码目录说明
开源项目「go home」聚焦Go语言技术栈与面试题,以协助Gopher登上更大的舞台,欢迎go home~ 导读 学习Go语言源码的第一步就是了解先了解它的目录结构,你对它的源码目录了解多少呢?今天 ...
- 萌新带你开车上p站(三)
本文作者:萌新 前情回顾: 萌新带你开车上p站(一) 萌新带你开车上p站(二) 0x08 题目给的提示是和运算符优先级有关 登录后直接看源码 mistake@pwnable:~$ ls flag mi ...
- HashMap实现原理(JDK1.8)
概述HashMap在底层数据结构上采用了数组+链表+红黑树,通过散列映射来存储键值对数据因为在查询上使用散列码(通过键生成一个数字作为数组下标,这个数字就是hash code)所以在查询上的访问速度比 ...
- ******Prometheus(二)***********
Prometheus的数据与安全模型: (1)Metric (度量)名字就是描述采集数据的名称——例如,website_visits_total 作为网站访问总数.名称可以包含ASCII字母.数字.下 ...
- 一站式WebAPI与认证授权服务
保护WEBAPI有哪些方法? 微软官方文档推荐了好几个: Azure Active Directory Azure Active Directory B2C (Azure AD B2C)] Ident ...
- 详解 I/O流
I/O流是用于处理设备之前信息传输的流,在我们今后的学习甚至是工作中,都是十分重要的. 在我们的日常生活中,也是很常见的,譬如:文件内容的合并.设备之键的文件传输,甚至是下载软件时的断点续传,都可以用 ...
- [护网杯2018] easy_laravel
前言 题目环境 buuoj 上的复现,和原版的题目不是完全一样.原题使用的是 nginx + mysql 而 buuoj 上的是 apache + sqlite composer 这是在 PHP5.3 ...
- 想学习CTF的一定要看这篇,让你学习效率提升80%
在学习CTF过程中你是否遇到这样的情况: 下定决心想要学习CTF,不知道从哪里开始? 找了一堆CTF相关的知识学习,但是知识点太凌乱,没有统一明确的学习路径. 又或者理论学习完,没有相应的实操环境? ...
- Ubuntu当状态栏网络图标隐藏的解决方法汇总
最有效之一: 直接在终端运行以下命令,以root身份: nm-applet --sm-disable 不建议修改配置文件内容