Linux环境下使用jsoncpp

1. 下载jsoncpp

-->https://github.com/open-source-parsers/jsoncpp/tree/update

两种下载方法:

方法一:git clone ... 到服务器上(或虚拟机上...),有点慢,甚至会失败...!

方法二:下载 zip包,通过第三方软件上传到服务器上(虚拟机直接拖)

2. 生成静态库libjsoncpp.a

GitHub给的步骤命令:

mkdir -p build/debug
cd build/debug
cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DARCHIVE_INSTALL_DIR=. -G "Unix Makefiles" ../..
make

步骤注意点:
在开始步骤之前先进入之前下载并解压好的jsoncpp文件夹中,然后依次复制粘贴命令去执行即可。

image

image

3. 复制相关文件至/usr/local下(方便编程)

(1)复制头文件:

相对路径:先进入到jsoncpp文件夹下的include文件夹中,再cp -rf json /usr/local/include

绝对路径:cp -rf /home/jsoncpp/include/json /usr/local/include

注:这里不复制的话,就把json文件夹包含在自己项目中即可。

(2)复制静态库:

cp 【libjsoncpp.a所在路径】 /usr/local/lib

查找静态库命令:find -name *.a
image

4. CMakeList.txt编写(需要新增的)

# 由于libjsoncpp.a已被复制到/usr/local/lib下,且系统是会去该路径下搜索相应的库文件,所以以下语句加不加都可以
link_directories(/usr/local/lib)

# 使用jsoncpp
set(jsoncpp_lib libjsoncpp.a)
target_link_libraries(echatlib ${jsoncpp_lib})