文章目录
前言
1. C 库Json解析
2. C++ libjsoncpp.a解析
2-1. 下载和编译
ARM交叉编译:
1. tar xvzf jsoncpp-src-0.5.0.tar.gz
2. mkdir arm_jsoncpp;cp include arm_jsoncpp -r;cp src/lib_json/* arm_jsoncpp;cd arm_jsoncpp
3. 编译静态库: aarch64-himix100-linux-g++ -c *.cpp -I./include -fPIC; ar cr libjsoncpp.a *.o
4. 编译动态库: aarch64-himix100-linux-g++ -shared -fPIC *.cpp -I./include -o libjsoncpp.so
使用脚本编译(将3,4步拎出来编写个脚本),命名为build.sh:
#!/bin/sh
if [ "$1" == "a" ];then
echo -e "\033[1;32m编译静态库.\033[0m"
aarch64-himix100-linux-g++ -c *.cpp -I./include ;ar rcs libjsoncpp.a *.o;rm *.o
elif [ "$1" == "so" ];then
echo -e "\033[1;32m编译动态库.\033[0m"
aarch64-himix100-linux-g++ -shared -fPIC *.cpp -I./include -o libjsoncpp.so
else
echo -e "默认编译静态库"
aarch64-himix100-linux-g++ -c *.cpp -I./include ;ar rcs libjsoncpp.a *.o
fi
执行sh build.sh a表示编译为静态库,sh build.sh so表示编译动态库
2-2. 使用Json::FastWriter封JSON包(不推荐)
该方式不推荐,因为会报如下警告信息:
json.cpp: In function 'int main()':
json.cpp:8:19: warning: 'FastWriter' is deprecated: Use StreamWriterBuilder instead [-Wdeprecated-d

本文介绍使用C++库jsoncpp进行JSON数据的解析与封装方法。内容涵盖库的编译配置、不同类别的JSON操作类及其使用示例,并特别强调了推荐使用的类以避免警告。
最低0.47元/天 解锁文章
1374

被折叠的 条评论
为什么被折叠?



