Linux下配置jsoncpp库的方法
1.软件准备
JsonCpp
http://sourceforge.net/projects/jsoncpp/files/
scons
http://sourceforge.net/projects/... /scons-2.1.0.tar.gz
说明:scons需要python,在linux中自己携带了python,放心使用。
3.编译scons
tar-zvxf scons-2.1.0.tar.gz
② 设置环境变量
export MYSCONS=解压的路径
export SCONS_LIB_DIR=$MYSCONS/engine
注意:这两个环境变量至关重要。(这两个环境变量要写到相应的文件里面ubuntu下写入/home/用户名 /.bashrc内,centOS写入/home/用户名.bash_profile内)
-
解压jsoncpp
tar-zvxf jsoncpp-src-0.5.0.tar.gz
5.切换到jsoncpp的解压目录,执行命令:切记一定要解压切换的目录
python$MYSCONS/script/scons platform=linux-gcc //此处需要g++编译器 所以 应该确保您的linux 系统安装来g++编译器
6.生成静态和动态库文件
在/home/bupt/json/jsoncpp/libs/linux-gcc-4.6.1目录下
libjson_linux-gcc-4.6.1_libmt.a
libjson_linux-gcc-4.6.1_libmt.so7.修改环境变量LD_LIBRARY_PATH,将该库所在的目录加入
exportLD_LIBRARY_PATH=/home/bupt/json/jsoncpp/libs/linux-gcc-4.6.1.
(注意如果不修改环境变量的话,则可以将6.中生成的两个动态库复制到工程目录下,新建一个lib文件夹放入里面,当编译的时候注意加上这个路径下的这两个库文件就行了。)
8.将jsoncpp目录下的头文件(将jsoncpp/include/下的json文件夹)复制到自己的工程目录里就可以使用了。
9.程序测试一下
#include<iostream>
#include<string>
#include"json/json.h"
usingnamespace std;
usingnamespace Json;
intmain()
{
Valueroot;
FastWriterfast_writer;
StyledWriterstyled_writer;
root["REGION_ID"]= "600901";
root["DATA_TOTAL_NUM"]= "456278";
cout<< fast_writer.write(root) << endl;
cout<< styled_writer.write(root) << endl;
return0;
}
10.编译:
g++-o test test.cpp $LD_LIBRARY_PATH/libjson_linux-gcc-4.6.1_libmt.a$LD_LIBRARY_PATH/libjson_linux-gcc-4.6.1_libmt.so
(注意:LD_LIBRARY_PATH即7中设置的两个库文件的目录)。
11.执行:./test 结果如下:
{"DATA_TOTAL_NUM":"456278","REGION_ID":"600901"}
{
"DATA_TOTAL_NUM": "456278",
"REGION_ID": "600901"
}