mk文件报错:Extraneous text after `else' directive、only one `else' per conditional

报这两个错主要是因为没有搞清楚mk文件里if的写法。
因为else ifeq这两个关键词是否写在一排是有区别的:

写在一排

ifeq ($(version), user)
LOCAL_SRC_FILES := \

else ifeq ($(version), debug)
LOCAL_SRC_FILES := \

else
LOCAL_SRC_FILES := \

endif

这种情况只需要一个endif,因为if层次只有一层。类似:

if(xx) {

}else  if(yy){

}else {

}

写在两排

ifeq ($(version), user)
LOCAL_SRC_FILES := \

else 
ifeq ($(version), debug)
LOCAL_SRC_FILES := \

else
LOCAL_SRC_FILES := \

endif
endif

这种情况则需要两个endif,因为if层次有两层。类似:

if(xx) {

}else{
    if(yy) {
    
    }else{
    
    }
}

最后有两个连续的反大括号,对应两个endif。

其他

另外,提醒一下:
ifeq(之间一定要有空格,不然报错Miss separator.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值