jsoncpp是一個c++封裝的json包,跨平台支援windows、linux、unix等多系統,macOS據說也支援。
在windows下面使用比較簡單,直接往vc裡面添加項目就可以了。linux下面編譯需要使用到scons,
scons又是一個牛叉的工具,功能和GNU make一樣,又比make簡單多了。scons是python工具,
需要先安裝好python。
下載scons
http://www.scons.org/
解壓 tar -zxvf scons-2.0.1.tar.gz
設定環境變數
# export MYSCONS=/home/yuj/work/svn/SkyEye/c++_app/wp_server/scons-2.1.0()
# 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
通過組建檔案在
./jsoncpp-src-0.5.0\libs\linux-gcc-4.4.6目錄下面
libjson_linux-gcc-4.4.4_libmt.a
libjson_linux-gcc-4.4.4_libmt.so
寫一個簡單的測試程式
testMainjson.cpp
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;
}
}
[root@localhost test]# g++ -o testMainjson testMainJson.cpp -I../jsoncpp-src-0.5.0/include -ljson
/usr/bin/ld: cannot find -ljson
建立符號連結:
ln -s /home/yuj/work/svn/SkyEye/c++_app/wp_server/jsoncpp-src-0.5.0/libs/linux-gcc-4.4.6/libjson_linux-gcc-4.4.6_libmt.so /usr/local/lib/libjson.so
執行
/sbin/ldconfig
編譯:
g++ -o testMainjson testMainJson.cpp -I../jsoncpp-src-0.5.0/include -L../jsoncpp-src-0.5.0/libs/linux-gcc-4.4.6 -ljson
運行:
[root@localhost test]# ./testMainjson
1
kurama
成功使用jsoncpp庫