您当前的位置: 首页 >  linux

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

LINUX编译json-c错误的解决:autoreconf找不到,json_tokener.c报错

柳鲲鹏 发布时间:2018-10-08 16:46:02 ,浏览量:0

柳鲲鹏

  • http://www.json.org/
  • 直接安装
sudo apt-get install libjson0-dev libjson0
  • 下载源码编译安装

https://github.com/jehiah/json-c

执行命令

# 依赖库, 否则可能提示autoreconf找不到
sudo apt-get install autoconf automake libtool
sudo apt-get install libffi-dev

#
sh ./autogen.sh
./configure
make
sudo make install

 这里要提一下两个编译错误:

  1. sh ./autogen.sh提示autoreconf: not found,是依赖库没有安装。执行两个install即可。

  2.  

    有两个类似的错误:

     

    json_tokener.c:201:36: error: right-hand operand of comma expression has no effect [-Werror=unused-value]    ( ++(str), ((tok)->char_offset)++, c)                                     ^ json_tokener.c:467:14: note: in expansion of macro ‘ADVANCE_CHAR’               ADVANCE_CHAR(str, tok);

这是因为宏定义在这里展开时,多了一个返回值导致的。

解决办法:

增加宏定义:#define ADVANCE_CHAR2(str, tok)   ( ++(str), ((tok)->char_offset)++)

两个报错语句改为:ADVANCE_CHAR2(str, tok);

 

 

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.1790s