网上有和很多的文章介绍jsoncpp的安装,本人走了不少歧路,在此分享一下自己的安装步骤。
安装jsoncpp前必须安装scons。
1.scons下载地址:
http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download
2.jsoncpp下载地址:
http://sourceforge.net/projects/jsoncpp/files/
3.解压scons-2.1.0.tar.gz
tar -zvxf scons-2.1.0.tar.gz
我解压到了/opt/JSON 目录下,在/opt/JSON下,执行命令:tar -zvxf scons-2.1.0.tar.gz,会将解压的文件放在scons-2.1.0下。
4. 安装scons
进入到解压目录scons-2.1.0下面,执行命令:
sudo python setup.py install
5. 解压jsconcpp
tar -zvxf jsoncpp-src-0.5.0.tar.gz
我解压到了/opt/JSON下,在/opt/JSON 下,执行命令:tar -zvxf jsoncpp-src-0.5.0.tar.gz,会将解压的问价凡在jsoncpp-src-0.5.0 下。
6. 安装jsoncpp
解压后,进入jsoncpp-src-0.5.0,执行下列命令,安装所依赖的静态库和动态库。
sudo scons platform=linux-gcc
执行该命令后,会在jsoncpp-src-0.5.0下出现一个libs目录。
7. 将/jsoncpp-src-0.5.0/include/目录下的json文件夹拷贝到/usr/include/
cd /opt/JSON/jsoncpp-src-0.5.0/include
进行拷贝:
cp -r ./json /usr/include/
cp -r /opt/JSON/jsoncpp-src-0.5.0/include/json /usr/include/
8. 将jsoncpp-src-0.5.0/libs/linux-gcc-4.8.5/目录下的libjson_linux-gcc-4.8.5_libmt.a 和libjson_linux-gcc-4.8.5_libmt.so拷贝到/usr/local/lib/下,并为了方便使用,将其重命名为libjson.a 和 libjson.so
在root根目录下:
进入目录linux-gcc-4.8.5:
cd /opt/JSON/jsoncpp-src-0.5.0/libs/linux-gcc-4.8.5
拷贝:
cp libjson_linux-gcc-4.8.5_libmt.a /usr/local/lib
cp libjson_linux-gcc-4.8.5_libmt.so /usr/local/lib
进入/usr/local/lib 目录,重命名链接库:
cd /usr/local/lib
mv libjson_linux-gcc-4.8.5_libmt.a libjson.a
mv libjson_linux-gcc-4.8.5_libmt.so libjson.so
9. 配置链接路径
直接运行jsoncpp文件,-ljson,系统会找不到xxx.so动态链接库。
在根目录下:
vim etc/ld.so.conf
在 etc/ld.so.conf 下加入 /usr/local/lib 这一行,保存。
运行:/sbin/ldconfig -v 更新一下配置。
10. 完成上述步骤后,即可完成安装,可以正常编译jsoncpp文件。
jsoncpp测试文件:
#include
#include
using namespace std;
int main()
{
string test="{\"id\":16,\"name\":\"_Qiana\"}";
Json::Reader reader;
Json::Value value;
if(reader.parse(test,value))
{
if(!value["id"].isNull())
{
cout<
运行:g++ test_jsoncpp.cc -o test_json -ljson