【问题标题】:Problems compiling NDK project with Android Studio 1.3 preview使用 Android Studio 1.3 预览版编译 NDK 项目时出现问题
【发布时间】:2015-06-03 23:30:56
【问题描述】:

决定在 Android Studio 中尝试新的 NDK 支持,但似乎遇到了问题:

错误:'std::function' 尚未声明

之前有一些与 stl 库的其他链接问题,但通过添加解决了这些问题

stl“stlport_static” cFlags "-O2 --std=c++11 "

到 Gradle 配置。

有没有人处理过类似的事情?过去几天我一直在谷歌上搜索,但大多数答案似乎已过时或与 Android Studio 1.3 无关。

【问题讨论】:

    标签: android android-studio gradle stl android-ndk


    【解决方案1】:

    事实上,自 2014 年 1 月左右以来,Android Studio 中的 NDK 支持并没有太大变化。目前发布的 1.3 版本只是预览版 3,并且在 Google I/O 上展示的令人惊叹的 NDK 支持还没有包含在其中。不过应该很快就出来了。

    关于您缺少的 std::function:您是否包含 <functional> ? 此外,std 选项应定义为-std,而不是--std

    【讨论】:

    • 是的,确保包含 。原来,通过将 stl lib 更改为 stl "c++_shared" 解决了这个问题。另一方面,预览版 3 中的包含系统仍然很糟糕,必须手动将每个包含路径添加到 gradle 配置中才能让它注意到所有内容,现在遇到了一个问题,它试图将 web 和 ios 文件编译为好吧,因为该项目是跨平台的,并且包含主项目 src 文件夹中的所有实现文件。似乎在完全支持 NDK 之前还有一段路要走,只是厌倦了 Eclipse NDK。
    • 鉴于你所说的包含文件,我可能不得不等到完全发布,但是当你说'添加 stl "stlport_static" cFlags "-O2 --std=c++11 "到Gradle Config,你在哪里做的?
    • 你可以在android { defaultConfig { ndk { ... } } }下做到这一点
    猜你喜欢
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 2014-11-15
    • 2015-10-31
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    相关资源
    最近更新 更多