1、下载源码包
https://sourceforge.net/projects/jsoncpp/
2、解压
解压:tar -zxvf jsoncpp-src-0.5.0.tar.gz
进入解压后路径:cd jsoncpp-src-0.5.0.tar.gz
3、编译
3.1 Ubuntu编译(gcc)
先安装 scons 在直接编译下(相比Makefile要操作简单 )执行下面命令
sudo apt-get install scons
scons platform=linux-gcc
这样就直接可以获取到linux平台下的静态库和动态库
具体和GCC的版本有关系
动态库:./libs/linux-gcc-7/libjson_linux-gcc-7_libmt.so
静态库:./libs/linux-gcc-7/libjson_linux-gcc-7_libmt.a
3.2 嵌入式linux【ARM】平台下交叉编译(arm-linux-gcc)
嵌入式linux 平台下需要使用相应的交叉编译工具(arm-linux-gcc)
首先将源码提取出来 单独放在一个目录中
新建文件夹:mkdir arm_jsoncpp
拷贝头文件:cp include/ arm_jsoncpp/ -r
拷贝源码:cp src/lib_json/* arm_jsoncpp/
进入目录:cd arm_jsoncpp/
编译静态库
arm-linux-g++ -c *.cpp -I./include -fPIC
ar cr libjsoncpp.a *.o
静态库:./arm_jsoncpp/libjsoncpp.a
编译动态库
arm-linux-g++ -shared -fPIC *.cpp -I./include -o libjsoncpp.so
动态库:./arm_jsoncpp/libjsoncpp.so
4、使用
1、将/jsoncpp-src-0.5.0/include/目录下的json文件夹拷贝到/usr/include/
2、将jsoncpp-src-0.5.0/libs/linux-gcc-4.9.1/目录下的libjson_linux-gcc-4.9.1_libmt.a 拷贝到/usr/local/lib/下,并为了方便使用,将其重命名为libjson.a
3、编译自己的代码时,在gcc命令最后加-ljson
参考:
https://blog.csdn.net/weixin_36607844/article/details/78957807
https://www.jianshu.com/p/aa377e0df19a