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) |