Linux 下编译JsonCpp

下载scons 在这里http://www.scons.org/
解压  tar -zxvf scons-2.0.1.tar.gz
设定环境变量
# export MYSCONS=解压的路径
# export SCONS_LIB_DIR=$MYSCONS/engine
开始编译jsoncpp
# cd jsoncpp-src-0.5.0

结果有一些错误 也可能是早期的版本
是如下的结果
# Python $MYSCONS/script/scons.py platform=linux-gcc
经过测试 发现报错 查看路径下 没有scons.py文件
故改为scons,如下
# python $MYSCONS/script/scons platform=linux-gcc
通过 生成文件
libjson_linux-gcc-4.4.4_libmt.a
libjson_linux-gcc-4.4.4_libmt.so
使用时 需要讲头文件 即 include下的文件复制到工程下
使用示例

#include "json/json.h"
#include <string>
#include <iostream>
using namespace 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;
  }
 }
 return 0;
}

编译 为了方便编译 我将静态库文件命名为libjson.a

g++ -o main main.cpp -L. -ljson

相关推荐