一、安装 scons

  下载地址:http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download

  百度网盘:链接:https://pan.baidu.com/s/1tW57c9s3iCeoDi4OIDyEPQ 密码:2wd5

  解压:tar -zvxf scons-2.1.0.tar.gz

  进入到解压目录scons-2.1.0 执行命令:

    sudo python setup.py install

二、安装 Jsoncpp

  下载地址:http://sourceforge.net/projects/jsoncpp/

  百度网盘:链接:https://pan.baidu.com/s/1tW57c9s3iCeoDi4OIDyEPQ 密码:2wd5

  解压:tar -zvxf jsoncpp-src-0.5.0.tar.gz

  进入到jsoncpp解压目录下,执行命令:

    sudo scons platform=linux-gcc

  将/jsoncpp-src-0.5.0/include/目录下的json文件夹拷贝到 /usr/local/include/

  将jsoncpp-src-0.5.0/libs/linux-gcc-4.9.1/目录下的libjson_linux-gcc-4.9.1_libmt.a 拷贝到 /usr/local/lib/ 下,并为了方便使用,将其重命名为libjson.a

三、使用libjson.a 

makefile:

TARGET=main

INC=-I/usr/local/include/libmongoc-1.0 -I/usr/local/include/libbson-1.0/ -I/usr/local/include/json
LIB_PATH=-L/usr/local/lib
LIB=-lmongoc-1.0 -lbson-1.0 /usr/local/lib/libjson.a

CFLAGS:=-Wall -g -O0 -lrt -rdynamic -fPIC -Wl,-rpath=./ $(INC) $(LIB_PATH)
CPPFLAGS:=$(CFLAGS)

SRC=$(shell echo *.cpp)
OBJ=$(patsubst %.cpp,%.o,$(SRC))

all: $(TARGET)

$(TARGET): $(OBJ)
$(CXX) $^ $(CFLAGS) $(LIB) -o $@

clean:
rm -f $(OBJ)
rm -f $(TARGET)

  

json语法 可见:http://www.cnblogs.com/SZxiaochun/p/5866401.html 的 Demo

四、编译报错  

error: missing binary operator before token "("

/usr/include/wchar.h:104:1: error: ‘__BEGIN_NAMESPACE_C99’ does not name a type
/usr/include/wchar.h:107:1: error: ‘__END_NAMESPACE_C99’ does not name a type
/usr/include/wchar.h:135:1: error: ‘__END_NAMESPACE_STD’ does not name a type
/usr/include/wchar.h:149:6: error: expected initializer before ‘__THROW’
/usr/include/wchar.h:153:39: error: expected initializer before ‘__THROW’
/usr/include/wchar.h:157:6: error: expected initializer before ‘__THROW’
/usr/include/wchar.h:161:6: error: expected initializer before ‘__THROW’

/usr/include/c++/4.6/cwchar:143:11: error: ‘::btowc’ has not been declared
/usr/include/c++/4.6/cwchar:144:11: error: ‘::fgetwc’ has not been declared
/usr/include/c++/4.6/cwchar:148:11: error: ‘::fwide’ has not been declared
/usr/include/c++/4.6/cwchar:149:11: error: ‘::fwprintf’ has not been declared
/usr/include/c++/4.6/cwchar:150:11: error: ‘::fwscanf’ has not been declared

/usr/include/c++/4.6/cwchar:215:55: error: invalid conversion from ‘const wchar_t*’ to ‘wchar_t*’ [-fpermissive]
/usr/include/c++/4.6/cwchar:214:3: error:   initializing argument 1 of ‘wchar_t* std::wcschr(wchar_t*, wchar_t)’ [-fpermissive]

/usr/include/locale.h: At global scope:
/usr/include/locale.h:32:1: error: ‘__BEGIN_DECLS’ does not name a type
/usr/include/locale.h:125:65: error: expected initializer before ‘__THROW’
/usr/include/locale.h:128:40: error: expected initializer before ‘__THROW’
/usr/include/locale.h:130:1: error: ‘__END_NAMESPACE_STD’ does not name a type

......

  原因:

    jsoncpp中有一个features.h文件,在/usr/include下也有一个同名的文件,所以就出现文件依赖顺序等问题,一旦搞混,就报了一堆错

  解决方法:

    把jsoncpp的 features.h重命名,然后json.h与reader.h要引用它,在相应的位置换成新的文件名字就ok了。

  

转载于:https://www.cnblogs.com/SZxiaochun/p/7684454.html

Json---Linux下使用Jsoncpp相关推荐

  1. Linux下编译Jsoncpp

    载软件包:jsoncpp-src-0.5.0.tar.gz scons-2.1.0.tar.gz # tar zxvf scons-2.1.0.tar.gz # tar zxvf jsoncpp-sr ...

  2. linux下使用C++ Json库

    安装Json库 1.下载JsonCpp http://sourceforge.net/projects/jsoncpp/files/ 2.下载scons http://sourceforge.net/ ...

  3. linux解析json指针,Linux下JSON通信协议的使用和解析

    JSON的使用 1.JSON通信协议的概念 2.JSON的语法 2.1JSON对象 2.2JSON数组 2.3JSON字符串 3.JSON的使用与解析 3.1JSON结构体 3.2JSON格式的使用 ...

  4. linux下c++编译(g++)、cmake配置完结、配置json文件并调试项目、进程管理

    一.构建项目编译规则 1.系统配置: 系统要求:linux centos7 编译器:g++ 调试器:gdb 以及cmake IDE:vscode 可以通过命令去查看linux下是否安装:通过–vers ...

  5. 在linux下面使用Jsoncpp,在编译时添加了头文件搜索路径-Ixxxx/json ,导致很多错误,如下: In file included from /usr/include/x86_64-li

    在linux下面使用Jsoncpp,在编译时添加了头文件搜索路径-Ixxxx/json ,导致很多错误,如下: In file included from /usr/include/x86_64-li ...

  6. Linux下基于百度智能云平台人脸识别

    Linux下基于百度智能云平台人脸识别 1.百度智能云接口及简介 https://cloud.baidu.com/product/face   接口技术文档: 2.人脸检测属性分析项目示例  硬件平台 ...

  7. 手把手教你Linux下基于ITK开发基础(1)

    手把手教你Linux下基于ITK开发基础(1) *requirement: requirement version git 2.17.1 g++ Ubuntu 7.5.0-3 ubuntu1~18.0 ...

  8. YOLOv4:目标检测(windows和Linux下Darknet 版本)实施

    YOLOv4:目标检测(windows和Linux下Darknet 版本)实施 YOLOv4 - Neural Networks for Object Detection (Windows and L ...

  9. Docker折腾手记-linux下安装

    Linux下的安装方法 博主用的是centos7,其它也是大同小异 我根据的是官网的教程进行的操作,地址是 https://docs.docker.com/engine/installation/li ...

  10. linux 音频文件长度,Linux下压缩音频文件

    安装工具 sudo apt-get install lame 具体用法可以查看帮助  lame --help 通过更改音频文件的帧数 可以让文件变小  但是音质也会随之下降 现在比较多的mp3文件是1 ...

最新文章

  1. 机器学习系统的弱点:需要保护它们的5个原因
  2. 域客户端如何定位并登录域控制器
  3. 有没有通俗易懂的python课程-有没有简单易懂的入门级Python辅导书或网络课程?...
  4. excel数据透视表列名更改
  5. 邮件群发工具的编写(二)数据的保存
  6. DevOps案例研究:知人善任——Google敏捷核心文化
  7. 学习SQL数据更新,这一篇就够了!
  8. 分步表单如何实现 html_HTML表单入门的分步指南
  9. 谷歌拟收购Firework 火拼短视频应用市场
  10. 关于Java的String字符串常量的长度问题(Error:(14, 22) java: 常量字符串过长)
  11. Python基础(函数)
  12. 概念理解之装箱与拆箱
  13. 《数学之美》—Google AK-47的设计者
  14. 【水果蔬菜识别】基于matlab GUI灰度+二值化+腐蚀+直方图处理水果蔬菜识别【含Matlab源码 1052期】
  15. sklearn- 一元线性回归
  16. 目标检测(一)目标检测算法综述
  17. 多渔:苦干执行,胜者为王!
  18. 华南理工大学计算机科学与工程学院篡改,疑篡改研究生复试成绩!华工四人被停职接受调查...
  19. fish or cut bait 当机立断
  20. Dynamics 365 on-premises9.0中文版安装SrsDataConnector出错

热门文章

  1. SV学习笔记—结构体及枚举类型及字符串
  2. 长江大学计算机基础试题,长江大学08-09B第一学期计算机基础试卷
  3. 分享几个有趣的Linux命令
  4. 洛谷P4956 [COCI2017-2018#6] Davor 题解
  5. 两个重要的常数项级数
  6. 逆向工程建模建模的心得体会_应用三维扫描仪整车逆向,设计师再也不用艰难画图改改改...
  7. 轻量化Backbone VGNetG成就“不做选择,全都要”轻量化主干网络
  8. c 盘空间又满了?微信清理神器帮你释放空间
  9. 安科瑞电力监控系统在耐世特汽车系统(苏州)有限公司项目中的设计与应用
  10. 黄金日k线图_股票k线图经典图解