Gradle构建问题

Gradle building issue

本文关键字:问题 构建 Gradle      更新时间:2023-10-16

我尝试用本地c-lib编译我的项目并获得下一个错误

/Users/eugene/KREF14001/app/src/main/jni/libC/PulseFilter.c: In function 'shapeMonoGame':
/Users/eugene/KREF14001/app/src/main/jni/libC/PulseFilter.c:696:5: error: 'for' loop initial declarations are only allowed in C99 mode
/Users/eugene/KREF14001/app/src/main/jni/libC/PulseFilter.c:696:5: note: use option -std=c99 or -std=gnu99 to compile your code

从这个报告中,我发现我必须使用选项-std=c99或-std=gnu99来编译我的代码,但我不知道怎么做。

在您的应用程序的build.gradle文件中,您可以在defaultConfig块内的ndk块中添加cFlags "-std=c99",如下所示:

ndk {
    moduleName "libblur"
    abiFilter "armeabi-v7a"
    stl "gnustl_static"
    cFlags "-std=c99"
    ldLibs "log"
}

问题是Gradle不使用你的。mk文件,而是自己生成并使用它们。所以编辑Android是很有用的。和Application.mk。你可以手动构建源代码,也可以编辑build.gradle的ndk部分。