对于Android Studio NDK Gradle,如何为不同文件设置不同的CFLAG

For Android Studio NDK Gradle, how do I set different cFlags for different files?

本文关键字:文件 设置 CFLAG Studio Android NDK Gradle 对于      更新时间:2023-10-16

我正在尝试使用Android Studio(2.2.2)的最新版本来创建C/C 库。

如何为不同代码文件指定不同的编译选项?

我库中的一些.cpp代码使用stl,并且需要" -std = gnu 11"才能成功编译。

我库中的某些代码使用.c文件,如果指定了" -std = gnu 11",则会生成此错误:

错误:无效参数'-std = gnu 11'不允许使用'c/objc'

我目前正在使用build.gradle脚本进行编译,但是如果有人可以帮助我设置CMAKE脚本来完成同一操作,我也可以使用Cmake。

我看到了指定CPPFLAG而不是CFLAG的其他答案,以指定仅为.cpp文件的编译标志。最新版本的Android Studio中似乎缺少该NDK选项。当我尝试使用它时,我会得到此错误:

无法获得未知的属性'cppflags' com.android.build.gradle.internal.dsl.ndkoptions。

感谢您的帮助!

通过从Android Studio生成新的C 库模块,我能够获得骨架CMake设置。cppflags通常从cmake文件中起作用,因此我的问题得到了解决!