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
http://xxxxxx/Linuxjc/1134313.html TechArticle