Linux下配置jsoncpp库

[root@postgresql json]# uname -a
Linux postgresql 2.6.18-308.13.1.el5 #1 SMP Tue Aug 21 17:10:18 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

下载jsoncpp 和scons(类似GnuMake的工具)

http://sourceforge.net/projects/jsoncpp

http://www.scons.org/

装scons

#tar -zxvf scons-2.2.0.tar.gz
#cd scons-2.2.0
#python setup.py install

编译jsoncpp

#tar -zxvf jsoncpp-src-0.6.0-rc2.tar.gz
#cd jsoncpp-src-0.6.0-rc2

#scons platform=linux-gcc

#mv -r include/json /usr/include/
#mv libs/linux-gcc-4.1.2/libjson_linux-gcc-4.1.2_libmt.so /usr/lib/libjsoncpp.so
#mv libs/linux-gcc-4.1.2/libjson_linux-gcc-4.1.2_libmt.a /usr/lib/libjsoncpp.a

这里把库直接放/usr/lib目录。如果要放自己的目录的话把目录加到/etc/ld.so.conf然后ldconfig。

test.cpp

#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;
}

编译

g++ -o test test.cpp -ljsoncpp

结果

./test
1
kurama

参考:http://www.cnblogs.com/mydomain/archive/2011/11/08/2241369.html

posted @ 2012-09-12 19:43  Leo Forest  阅读(830)  评论(0编辑  收藏  举报