编译ARM64安卓内核时出错

时间:2017-08-23 20:10:16

标签: android c compilation kernel

即使经过深入研究,我也找不到答案。 我正在编译Android ARM64内核,并在此文件中

  

的驱动/杂项/ QCOM / qdsp6v2 / audio_amrwbplus

我有这些界限:

119 static long audio_ioctl(struct file *file, unsigned int cmd,
120                 unsigned long arg)
121 {
122 struct q6audio_aio *audio = file->private_data;
123 int rc = 0;

    ...

抛出此错误:

drivers/misc/qcom/qdsp6v2/audio_amrwbplus.c: In function 'audio_ioctl_shared':
drivers/misc/qcom/qdsp6v2/audio_amrwbplus.c:121:13: error: invalid storage 
class for function 'audio_ioctl'
static long audio_ioctl(struct file *file, unsigned int cmd,
         ^
drivers/misc/qcom/qdsp6v2/audio_amrwbplus.c:121:1: warning: ISO C90 forbids 
mixed declarations and code [-Wdeclaration-after-statement]
error, forbidden warning: audio_amrwbplus.c:121

我正在使用GCC 7.x和5.x进行编译,结果相同

我也试图设置

  

-Wno-declaration-after-statement

进入Makefile,没有运气

1 个答案:

答案 0 :(得分:0)

对于遇到(同类)问题的每个人,这都是解决方案。

问题不在于编译器告诉我的那些线,而是(在同一个文件中)之前的一些线。这只是一些奇怪的放置括号,后面的代码搞乱了。

如果你有这样的东西,试着深入搜索同一个文件,你可能会发现一些错误的逻辑错误。