我刚刚开始从windows MFC下的开发转的LINUX下的C++开发。在写这篇文章之前我三次安装jsoncpp,每一次安装都犯不同的错误。为了我能够在下一次安装时不再犯错误。特写此文!JSONCPP的安装在网上有很多文章,我就是根据他们的内容进行的jsoncpp安装操作,在此向他们表示感谢。

1.软件准备

JsonCpp

http://sourceforge.net/projects/jsoncpp/files/

scons

http://sourceforge.net/projects/ ... /scons-2.1.0.tar.gz

说明:scons需要python,在linux中自己携带了python,放心使用。

2.安装目录为了统一安装目录,我创建了/hfcjm目录放置安装的各种文件。/hfcjm/include放置头文件,/hfcjm/lib放置库文件

3.编译scons

tar -zvxf scons-2.1.0.tar.gz

② 设置环境变量

export MYSCONS=解压的路径

export SCONS_LIB_DIR=$MYSCONS/engine

注意:这两个环境变量至关重要。

4. 解压jsoncpp

tar -zvxf jsoncpp-src-0.5.0.tar.gz

5. 切换到jsoncpp的解压目录,执行命令:切记一定要解压切换的目录

python $MYSCONS/script/scons platform=linux-gcc

6. 生成静态和动态库文件

在jsoncpp-src-0.5.0/libs/linux-gcc-4.1.2目录下

libjson_linux-gcc-4.4.4_libmt.a

libjson_linux-gcc-4.4.4_libmt.so

7.将libjson_linux-gcc-4.4.4_libmt.a和libjson_linux-gcc-4.4.1.libmt.so拷贝到/hfcjm/lib下,将解压后的文件夹下的INCLUDE中的头文件拷贝到/hfcjm/include下。

8.代码测试:

#include "json/json.h"
#include 
#include 
usingnamespace std;

int main()
{
string test ="{\"id\":1,\"name\":\"kurama\"}";
Json::Reader reader;
Json::Value value;
if(reader.parse(test,value))
{
if(!value["id"].isNull())
{
cout << value["id"].asInt() << endl;
cout << value["name"].asString()<< endl;
}
}
return0;
}

9 编写makefile

jsontest:jsontest.cpp
g++ -o jsontest jsontest.cpp -I/hfcjm/jsoncpp/include /hfcjm/jsoncpp/lib/libjson_linux-gcc-4.4.5_libmt.a

-- 切记,不要忘记jsontest.cpp

10 .运行

JSONCPP安装的更多相关文章

  1. JsonCpp的简单使用方法

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Langu ...

  2. JsonCpp——json文件的解析

    定义: 官网: http://json.org/ 在线解析器:http://json.cn/ http://www.bejson.com/ JSON(JavaScript Object Notatio ...

  3. linux::jsoncpp库

    下载库:http://sourceforge.net/projects/jsoncpp/files/ tar -zxvf jsoncpp-src- -C jsoncpp () 安装 scons $ s ...

  4. Linux平台下C++使用JsonCPP解析Json字符串

    JsonCPP安装 安装 scons 下载地址: http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/ ...

  5. 安装RedHat和Centos后做的15件事情

    由于之前的Centos 7不支持无线网络连接,我尝试着将内核升级至4.8还是无效,遂决定换回RedHat 7,目前系统已经安装好,版本是Red Hat Enterprise Linux 7.3,下面是 ...

  6. linux下正确安装jsoncpp

    要安装jsoncpp,首先要下载好scons,再去安装jsoncpp scons下载地址:wget http://prdownloads.sourceforge.NET/scons/scons-2.2 ...

  7. jsoncpp的安装与使用示例

    安装: 生成静态库 生成静态库: 第一步:生成目标文件: g++ -g -Wall -c json_reader.cpp json_value.cpp json_writer.cpp -I. -I.. ...

  8. [转] cmake源码编译安装jsoncpp

    1.下载jsoncpp源码 wget https://github.com/open-source-parsers/jsoncpp/archive/master.zip 2.解压缩源码文件 unzip ...

  9. CentOS安装jsoncpp

    两种安装方式: 通过cmake安装 通过scons安装 cmake安装见cmake安装jsoncpp,scons安装见下文. 1. 安装scons .tar.gz export MYSCONS=/ro ...

随机推荐

  1. B - Encoded Love-letter 字符串的处理

    B - Encoded Love-letter Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & % ...

  2. web安全之http协议

    http协议 全称是超文本传输协议,是web的核心传输机制,也是服务端和客户端之间交换url的首选协议. url url全称是统一资源定器(统一资源标识符) 顾名思义 每一条格式正确且规范,但url都 ...

  3. C# 中Join( )的理解

    在MSDN中对Join( )的解释比较模糊:在继续执行标准的 COM 和 SendMessage 消息泵处理期间,阻塞调用线程(线程A),直到某个线程终(线程B)止为止. 首先来看一下有关的概念: 我 ...

  4. 黑马程序员——JAVA基础之标准输入输出流

    ------- android培训.java培训.期待与您交流! ---------- 标准输入输出流: System中的基本字段,in,out 它们各代表了系统标准的输入和输出设备. 默认输入设备是 ...

  5. 一:解决VirtualBox只能安装32位系统的问题

    发现自己的笔记本(Thinkpad E440)里的 VirtualBox 只能安装 32位 的系统,如下图所示: 经过一番查资料,发现这玩意需要到BIOS里设置一下,方可安装 64位 系统,操作如下: ...

  6. Oracle学习笔记(一)

    1.常用sqlplus命令 (1)查看当前登录用户:show user; (2)切换当前登录用户:conn 用户名/密码 (切换系统用户+as sysdba ); (3)断开当前登录用户:disc; ...

  7. idea maven mvn archetype:generate 速度缓慢问题(转)

    From:https://my.oschina.net/u/225373/blog/468035   maven 骨架生成项目速度慢的令人发指,都在Generating project in Batc ...

  8. List remove注意点

    public class ListTest { public static void main(String[] args) { // TODO Auto-generated method stub ...

  9. linux -小记(1) 问题:"linux ifconfig查看网卡名称与配置文件不否" 或 启动网卡提示“ eth0 似乎不存在, 初始化操作将被延迟”。

    "linux ifconfig查看网卡名称与配置文件不否" 或 启动网卡提示" eth0 似乎不存在, 初始化操作将被延迟" . 问题 1. service n ...

  10. linux网络编程-(socket套接字编程UDP传输)

    今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中, ...