ubuntu編譯並使用jsoncpp
安裝好gcc和g++
- 刪除所有舊引用(如果未安裝過gcc,跳過此步驟)
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
- 安裝gcc和g++
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
- 添加鏈接
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
注意:4.8是安裝的版本,最後的20是指優先級.
- 檢查是否安裝成功
gcc --version
g++ --version
下載jsoncpp及安裝工具
- jsoncpp下載地址
https://github.com/open-source-parsers/jsoncpp
- 安裝scons
sudo apt install scons
編譯
- 編譯命令
進入到jsoncpp目錄後,輸入如下命令:
scons platform=$PLATFORM [TARGET]
- suncc: Sun C++ (Solaris)
- vacpp: Visual Age C++ (AIX)
- mingw
- msvc6: Microsoft Visual Studio 6 service pack 5-6
- msvc70: Microsoft Visual Studio 2002
- msvc71: Microsoft Visual Studio 2003
- msvc80: Microsoft Visual Studio 2005
- msvc90: Microsoft Visual Studio 2008
- linux-gcc: Gnu C++ (linux, also reported to work for Mac OS X)
在ubuntu下編譯命令爲:scons platform=linux-gcc
.
編譯完成之後在目錄下的libs
文件夾下能找到編譯後的靜態庫和動態庫文件.
項目中引用jsoncpp.so
- 項目文件夾
--項目名
--include
--lib
CMakelists.txt
...
將so庫文件重命名爲libjsoncpp.so
,將本文件移動到lib文件夾下,將下載的jsoncpp的文件夾下的include/json
文件夾移動到項目include
文件夾下.
- CMakeLists.txt
set(JSONCPP ${CMAKE_SOURCE_DIR}/lib/libjsoncpp.so)
# 鏈接
TARGET_LINK_LIBRARIES(項目名稱 ${JSONCPP})
- 代碼
代碼中需要導入jsoncpp的頭文件,如下:
#include <json/json.h>
...