解压 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
#tar -zxf scons-2.1.0.tar.gz
#cd scons-2.1.0
#python setup.py install
#tar -zxf jsoncpp-src-0.5.0.tar.gz
#cd jsoncpp-src-0.5.0
#scons platform=linux-gcc
#mv libs/linux-gcc-4.1.2/libjson_linux-gcc-4.1.2_libmt.so /lib
#mv include/json/ /usr/include/
#ldconfig
#./bin/linux-gcc-4.1.2/test_lib_json
Testing ValueTest/size: OK
Testing ValueTest/isObject: OK
Testing ValueTest/isArray: OK
Testing ValueTest/isBool: OK
Testing ValueTest/isInt: OK
Testing ValueTest/isUInt: OK
Testing ValueTest/isDouble: OK
Testing ValueTest/isString: OK
Testing ValueTest/isNull: OK
All 9 tests passed
3.json入门指南:
4.使用示例
新建main.cpp
#include "json/json.h"
#include
#include
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<
cout<
}
}
return 0;
}
编译命令为:g++ jsoncpptest.cpp -I/root/software/jsoncpp-src-0.5.0/include -L/root/software/json cpp-src-0.5.0/libs/linux-gcc-4.4.5/ -ljson_linux-gcc-4.4.5_libmt
编译成功
./a.out时错误,说是找不到.so文件,解决办法有:
1.将jsoncpp编译后的.so文件拷贝到当前项目目录中
2.编辑/etc/ld.so.conf文件,将.so文件所在的路径加进去,同时加入/usr/local/lib
然后用命令/sbin/ldconfig -v对.so的配置进行更新
5.JsonCpp