【发布时间】:2015-03-12 19:10:16
【问题描述】:
我正在使用 Android NDK r10d。我的 application.mk 设置如下:
APP_CFLAGS := -DANDROID -DBUILD_OGLES2
APP_CPPFLAGS := $(APP_CFLAGS) -fexceptions -frtti -std=c++14
APP_STL := gnustl_static
APP_ABI := armeabi-v7a
APP_PLATFORM := android-15
NDK_TOOLCHAIN_VERSION := clang
我在我的代码中使用std::make_unique,但它没有编译(说它没有找到)。从 C++14 开始,这个特性应该在 STL 中可用。我做了一些探索,似乎 clang 没有在 NDK 中使用 GNU STL 4.9。如果是,它将可用,因为我在 <memory> 标头中看到它。
我在这里缺少什么?有没有办法将 4.9 GNU STL 与 clang 一起使用?
【问题讨论】:
-
尝试将
-stdlib=libstdc++添加到APP_CPPFLAGS -
@Praetorian 还是没用 :-(
error: no member named 'make_unique' in namespace 'std' -
您可以同时获取
make_uniqueelsewhere 的实现。
标签: android c++ android-ndk clang c++14