【问题标题】:For Android Studio NDK Gradle, how do I set different cFlags for different files?对于 Android Studio NDK Gradle,如何为不同的文件设置不同的 cFlags?
【发布时间】:2016-11-29 14:27:53
【问题描述】:

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

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

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

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

错误:“C/ObjC”不允许使用无效参数“-std=gnu++11”

我目前正在使用 build.gradle 脚本进行编译,但我也愿意使用 CMake,如果有人可以帮助我设置 CMake 脚本来完成同样的事情。

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

无法获取类型对象的未知属性“cppFlags” com.android.build.gradle.internal.dsl.NdkOptions.

感谢您的帮助!

【问题讨论】:

  • 请发布您的 build.gradle 文件中与 nkd 相关的部分。

标签: android c++ gradle android-ndk cflags


【解决方案1】:

通过从 Android Studio 生成一个新的 C++ 库模块,我能够获得一个骨架 CMake 设置。 cppFlags 在 CMake 文件中正常工作,所以我的问题解决了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-04
    • 2018-04-05
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多