Gradle建设问题

时间:2014-06-18 07:15:31

标签: android c++ gradle

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

/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来编译我的代码,但我不知道该怎么做。求你帮帮我。

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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