> CentOS > CentOS教程 >

Centos6.5 安装 jsoncpp

1.安装环境: 
Python (自带) 
scons (用来编译jsoncpp) 
jsoncpp

2.从github下载最新版本jsoncpp 
https://github.com/open-source-parsers/jsoncpp

3.安装scons 
scons 官方网址 http://www.scons.org/ 
找到Redhat版的rpm(比如scons-2.5.0-1.noarch.rpm),然后直接点击安装即可。

4.编译jsoncpp 
进入到jsoncpp文件,然后在终端执行: 
sudo scons platform=linux-gcc 
这样就会在jsoncpp/libs/linux-gcc-x.x.x中找到两个库文件,一个静态库一个动态库。

5.编写测试程序:

#include "json/json.h"
#include <iostream>
using namespace std;
int main(){
  Json::Value  v;
   return 0;
}

其实只要第一句没问题就OK了。

6.以上程序用到了json.h,所以需要告诉编译器json.h的位置,只知道json.h的位置还不够,还需要库。  我的文件结构如下:

Lib所在目录:
   jsoncpp..
       libs..
           linux-gcc-4.8.2..
                  libjson_linux-gcc-4.8.2_libmt.a  libjson_linux-gcc-4.8.2_libmt.so 
头文件所在目录:
  jsoncpp.. 
      include..
          json.. 
             json.h

这里在终端输入以下命令:

export LD_LIBRARY_PATH='/Your Path/jsoncpp/libs/linux-gcc-4.8.2'

g++ -I '头文件所在目录' -L 'lib所在目录' -ljson_linux-gcc-4.8.2_libmt test_json.cpp -o main

根据以上文件目录:
g++ -I '/Your Path/include' -L '/Your Path/jsoncpp/libs/linux-gcc-4.8.2' -ljson_linux-gcc-4.8.2_libmt test_json.cpp -o main

这里 -I 是指定头文件目录,-L 是指定lib目录,-ljson_linux-gcc-4.8.2_libmt 表示链接 lib目录下的libjson_linux-gcc-4.8.2_libmt.so 动态库。

export 每开一个终端就要输入一次,不然会出现error while loading shared libraries,这里暂时没去解决。

关于error while loading shared libraries 可以参考以下链接:  http://stackoverflow.com/questions/5357869/error-while-loading-shared-libraries

关于gcc命令不大明白可以参看以下链接:  http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html#_Toc311642848

关于安装jsoncpp,参考链接:  http://blog.csdn.net/gogoytgo/article/details/46007689


(责任编辑:IT)