我还有许多其他 C++11 功能在工作,但是当我编写时:
std::future<void> test;
编译器说:
MyFile.h:43:23: error: field 'test' has incomplete type
std::future<void> test;
^
它也因模板参数中的任何其他类型而失败。
我正在尝试使用 NDK r9 和 gnu libstdc++ 4.9 在 Mac OS X (v10.8.4) 上编译它。在我的 Application.mk 我有这个:
NDK_TOOLCHAIN_VERSION=4.8
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -std=gnu++11
我也尝试过更改为 NDK_TOOLCHAIN_VERSION=clang ,但没有成功;错误更改为:
implicit instantiation of undefined template
在我的 Android.mk 中,我添加了这个:
LOCAL_CFLAGS += -std=gnu++11
有什么方法可以将 std::async 和 std::future 与 NDK 一起使用?