openMV4源码Linux编译错误,内联函数(inline)相关的编译错误

内联函数(inline)相关的编译错误

1.重定义(redefinition)

2.receive.c:562:7: warning: 'expect_at_least' is static but used in inline function 'get_gap' which is not static

编译第三开源包的时遇到了一些问题,在海思提供的工具链(arm-gcc49-linux-gnueabihf-4.9.4)没遇到错误,

换用mtk 的工具链(arm-linux-gnueabihf-7.2.1)编译时,遇到如下内联函数相关错误

1.重定义(redefinition)

lircd

mkfs.ubifs/hashtable/hashtable_itr.c:42:1: error: redefinition of ‘hashtable_iterator_key’

hashtable_iterator_key(struct hashtable_itr *i)

^~~~~~~~~~~~~~~~~~~~~~

In file included from mkfs.ubifs/hashtable/hashtable_itr.c:5:0:

mkfs.ubifs/hashtable/hashtable_itr.h:32:1: note: previous definition of ‘hashtable_iterator_key’ was here

hashtable_iterator_key(struct hashtable_itr *i)

^~~~~~~~~~~~~~~~~~~~~~

查看代码发现

hashtable_itr.c 中

void *

hashtable_iterator_key(struct hashtable_itr *i)

{ return i->e->k; }

hashtable_itr.h 中

extern inline void *

hashtable_iterator_key(struct hashtable_itr *i)

{

return i->e->k;

}

解决方法:

在CFLAGS 中加入 -fgnu89-inline

export CFLAGS=" -fgnu89-inline "

2.receive.c:562:7: warning: ‘expect_at_least’ is static but used in inline function ‘get_gap’ which is not static

mtd-utils

后面链接报错

receive.c:(.text+0x21fe): undefined reference to get_gap' receive.c:(.text+0x2210): undefined reference toget_gap’

解决方法:(同上)

在CFLAGS 中加入 -fgnu89-inline

export CFLAGS=" -fgnu89-inline "

遇到类似的问题可以参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值