linux jsoncpp 安装编译
来源:互联网 发布:淘宝怎么关闭返利 编辑:程序博客网 时间:2024/06/04 09:47
今天安装了一个jsoncpp ,jsoncpp 是一个c++ 的json包,支持跨平台
需要首先安装scons,但是要首先安装python,linux下支持了python。
(x86平台)
编译scons
tar -zvxf scons-2.1.0.tar.gz
设置环境变量
export MYSCONS=解压的路径
export SCONS_LIB_DIR=$MYSCONS/engine
注意:这两个环境变量至关重要。
解压jsoncpp
tar -zvxf jsoncpp-src-0.5.0.tar.gz
切换到jsoncpp的解压目录,执行命令:切记一定要解压切换的目录
python $MYSCONS/script/scons platform=linux-gcc
生成静态和动态库文件
在jsoncpp-src-0.5.0/libs/linux-gcc-4.1.2目录下
libjson_linux-gcc-4.4.4_libmt.a
libjson_linux-gcc-4.4.4_libmt.so
根据自己的用途,可以将libjson_linux-gcc-4.4.4_libmt.a和libjson_linux-gcc-4.4.1.libmt.so任意一个拷贝到/usr/lib下,我选择了静态库库文件,将解压后的文件夹下的INCLUDE中的头文件拷贝到/usr/include/json下。
使用时 需要讲头文件 即 include下的文件复制到工程下
使用示例
#include "json/json.h"
#include <string>
#include <iostream>
using namespace std;
int main()
{
string test ="{\"id\":1,\"name\":\"kurama\"}";
Json::Reader reader;
Json::Value value;
if(reader.parse(test,value))
{
if(!value["id"].isNull())
{
cout<<value["id"].asInt()<<endl;
cout<<value["name"].asString()<<endl;
}
}
return 0;
}
编译 为了方便编译 我将静态库文件命名为libjson.a
g++ -o main main.cpp -L. -ljson
(mtk)
MTK 平台上的搭建
由于mtk平台和X86平台上架构不一样 ,需要单独的交叉编译工具链。
主要是动态库问题,要单独的生成两个静态库和动态库。
Mtk 编译的工具链:mipsel-linux-uclibc-g++
1 由于没有包含 arm 平台,类似 linux-gcc,所以把源码提取出来,独立编译
$ mkdir arm_jsoncpp
$ cp include/ arm_jsoncpp/ -r
$ cp src/lib_json/* arm_jsoncpp/
$ cd arm_jsoncpp/
# 编译静态库
$ arm-linux-gnueabihf-g++ -c *.cpp -I./include -fPIC
$ ar cr libjsoncpp.a *.o
# 编译动态库
$ arm-linux-gnueabihf-g++ -shared -fPIC *.cpp -I./include -olibjsoncpp.so
2 生成了动态库libjsoncpp.so,然后copy到 opt下存放的交叉编译工具链中的lib库中。
cp libjsoncpp.so/opt/buildroot-gcc342/mipsel-linux-uclibc/bin/../lib/
3 然后就可以编译了
mipsel-linux-uclibc-g++-o xxx xxx.cpp –ljsoncpp
4 然后copy到板子上 xxx 还要copy libjsoncpp.so到板子上的lib库
5 运行./xxx
- linux jsoncpp 安装编译
- linux下jsoncpp的编译安装使用
- linux下jsoncpp的编译安装使用
- linux下jsoncpp的编译安装使用
- linux 下编译jsoncpp
- jsoncpp在linux编译
- Linux下编译Jsoncpp
- Linux下编译Jsoncpp
- jsoncpp在linux编译
- jsoncpp在linux编译
- linux jsoncpp 编译
- linux 编译jsoncpp
- Linux下编译jsoncpp
- Linux下编译Jsoncpp
- Jsoncpp在linux中的安装、编译及其简单应用
- linux安装jsoncpp
- linux下安装jsoncpp
- linux 安装jsoncpp
- css太极图
- 使用WITH AS提高性能简化嵌套SQL
- 了解BIOS
- Android Material Design:NavigationView抽屉导航菜单以及
- HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipel
- linux jsoncpp 安装编译
- 在 Cocos2d-js 中使用 Node.js 模块
- Java多线程编程模式实战指南一:Active Object模式(上)
- IOS关于MBProgressHUD延时之后不消失的BUG
- zookeeper之安装
- <context:property-placeholder/>使用说明
- codevs3119 高精度练习之大整数开根
- Android-connectivity连接
- android中的webview遇到的各种坑