u-boot-2012.04.01编译问题2:inline function ‘fit_parse_subimage’ declared but never defined

编译uboot时遇到问题:/home/book/test/u-boot-2012.04.01/include/image.h:536:12: warning: inline function ‘fit_parse_subimage’ declared but never defined

问题中文意思是:内联函数声明但未定义,网上搜索解决方法是需要在编译时加上-fgnu89-inline

为什么?

原因是gcc编译器对于inline函数处理的方式变化导致告警;在gcc4.3及以上的版本中,编译选项采用C99标准,对于inline函数的解释过严导致,需要使用传统模式进行编译,将编译选项改为C89标准。

参考:inline函数未定义的引用报错之 -fgnu89-inline

在哪里添加?

研究告警信息:In file included from aisimage.c:29:0:
/home/book/test/u-boot-2012.04.01/include/image.h:536:12: warning: inline function ‘fit_parse_subimage’ declared but never defined

搜索aisimage.c,发现出现在/home/book/test/u-boot-2012.04.01/tools/Makefile文件中,打开该Makefile文件,在HOSTCPPFLAGS后添加-fgnu89-inline

HOSTCPPFLAGS =  -idirafter $(SRCTREE)/include \
                -idirafter $(OBJTREE)/include2 \
                -idirafter $(OBJTREE)/include \
                -I $(SRCTREE)/lib/libfdt \
                -I $(SRCTREE)/tools \
                -DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE) \
                -DUSE_HOSTCC \
                -D__KERNEL_STRICT_NAMES \
                -fgnu89-inline
重新编译后问题解决

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值