jsoncpp在linux編譯

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庫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章