【发布时间】:2018-02-01 13:29:03
【问题描述】:
即使经过深入研究,我也找不到答案。 我正在编译一个 Android ARM64 内核,并且在这个文件中
驱动程序/misc/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,没有运气
【问题讨论】:
-
你是怎么编译的?
-
export ARCH=arm64 && export CROSS_COMPILE=../uber-7.x/bin/aarch64-linux-android- && make name_defconfig && make标准是-std=89 -
删除
-std=89 -
-std=89在 Makefile 中,我应该删除它吗? -
显然代码不符合这个标准版本。
标签: android c compilation kernel