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