Tina编译报错:<command-line>: error: expected identifier or ‘(‘ before numeric constant

在适配R528 D1方案时,Tina_multimedia编译出现奇怪错误:<command-line>: error: expected identifier or ‘(‘ before numeric constant。经过排查,发现是Makefile中的编译选项与某个枚举类型冲突,最终定位到是定义导致的问题。解决方案是移除相关编译选项。

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

今天在tina平台适配R528 D1方案时,tina_multimedia编译报以下很奇怪的报错,之前从来没有遇到过,特此记录一下。

在这里插入图片描述
看到这个编译报错,完全没有有用信息,既不知道哪一行,也不知道出错原因。后来在网上查阅了资料,大部分的解释是:枚举冲突,枚举类型中的某个变量被重复定义了。 可是没有给出具体哪个枚举类型哪个变量,实在是不好找到问题点。

排查步骤如下:

第一,同样的代码R528 riscv方案是能够正常编译通过的,排除工具链的影响。

第二,怀疑是否最近其他人提交的一些关于D1方案的代码,引入了冲突。尝试revert掉最近的提交,问题并未解决。

第三,转换思路,排查是否openssl包引入的错误。进入目录tina/package/libs/openssl使用mm -B编译,没有报错。

然后使用tina_multimedia的编译配置信息来编译openssl包,发现了问题点,如下图所示:
在这里插入图片描述
从这次的报错信息,加上之前网上查找到的解释,大概猜测是由于编译选项中引入了“-Dd1”lhash.h中的一些宏定义冲突。所以尝试将上面的编译配置去掉“-Dd1”进行验证,编译通过。由此可以得出结论是tina_multimedia的Makefile引入了不当的编译选项,最后发现是定义的TINA_CHIP_TYPE导致的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值