编译版本到mmi_framework的custnfbprogressimg时的错误

在编译plutommi/customer/custresource/custnfbprogressimg.c时遇到严重错误C2291E和C2282E,以及错误C2285E。问题源于PopulateRes.c中fopen()未正确执行,导致文件生成不完整。注释表明该段代码用于生成字符串列表文件。进一步排查发现,错误是由于将ADD_APPLICATION_MENUITEM改为ADD_APPLICATION_MENUITEM2时,遗漏了数字2,导致菜单加载出错,该问题不易察觉且定位困难。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示错误如下:


Compiling plutommi/customer/custresource/custnfbprogressimg.c ...
"plutommi/customer/custresource/custnfbprogressimg.c", line 16: Serious error: C2291E: <expression> expected but found '<eof>'
"plutommi/customer/custresource/custnfbprogressimg.c", line 16: Serious error: C2282E: expected '}' - inserted before '<eof>'
"plutommi/customer/custresource/custnfbprogressimg.c", line 15: Error: C2285E: expected ';' or ',' - inserted ';' before '<eof>'
plutommi/customer/custresource/custnfbprogressimg.c: 0 warnings, 1 error, 2 serious errors

 

经查,发现,PopulateRes.c中的PopulateResData()中的
    nfb_img_res_file = fopen(NFB_IMAGE_RES_FILENAME, "a");

执行出错,或未执行,导致,生成custnfbprogressimg.c时,少生成了部分文件。

 

而此语句之前有注释
    /*  for generate string list file in first pass */

看起来是生成字串用的,

后来再进一步追查,发现是因为设置菜单的函数没有写对,

原先系统是使用ADD_APPLICATION_MENUITEM来加载菜单的,我把它改成ADD_APPLICATION_MENUITEM2的形式时,里面内容全部修改了,但是忘记添加ADD_APPLICATION_MENUITEM2中的这个数字2了。

 

这个问题隐藏的非常深,如果不是遇到过的,很难找到原因,除非是一行一行代码找,

而且通常情况下,都认为改个加载菜单函数改个形式能出啥错,所以这个问题非常难定位。

 

记录于此,引以为戒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值