我想在我的Android应用程序的C ++代码中使用选项,但我无法弄清楚如何配置STL以支持std :: experimental :: optional或std :: optional。如果我只是将“-lc ++ experimental”添加到cppFlags,我的构建失败,“找不到-lc ++实验”。这就是我的Gradle文件的externalNativeBuild部分目前的样子。
externalNativeBuild {
cmake {
arguments "-DANDROID_STL=c++_shared"
cppFlags "-std=c++11", "-frtti", "-fexceptions"
}
}
如何启用std :: optional或std :: experimental :: optional?
的使用 编辑:我能够下载boost并使用boost :: optional,这很容易,因为它是一个仅限标头的库。如果可能的话,知道如何使用NDK附带的STL之一,这将是一件好事。当我打开$ ANDROID_NDK_HOME / sources / cxx-stl / llvm-libc ++ / include / experimental / optional时,我看到看起来像是std :: experimental :: optional的实现,但它被很多预处理器语句包围着我想象是禁用它。