Android NDK部分不支持chrono
我正在尝试将chrono与Android NDK结合使用。到目前为止,我取得了一些成功,但有些功能不受支持。 我在我的Android.mk中添加了这一行:Android NDK部分不支持chrono,android,c++,c++11,android-ndk,chrono,Android,C++,C++11,Android Ndk,Chrono,我正在尝试将chrono与Android NDK结合使用。到目前为止,我取得了一些成功,但有些功能不受支持。 我在我的Android.mk中添加了这一行: LOCAL_CPPFLAGS := -std=c++11 My Application.mk文件: APP_ABI := armeabi-v7a APP_STL := gnustl_static APP_CPPFLAGS := -frtti -fexceptions APP_PLATFORM := android-9 第一个问题是没有定
LOCAL_CPPFLAGS := -std=c++11
My Application.mk文件:
APP_ABI := armeabi-v7a
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_PLATFORM := android-9
第一个问题是没有定义稳定时钟。这一行:
std::chrono::steady_clock::time_point time = std::chrono::steady_clock::now();
生成此编译错误:
error: 'std::chrono::steady_clock' has not been declared
error: 'is_steady' is not a member of 'std::chrono::monotonic_clock'
我发现我可以用单调的时钟来代替,它可以工作,但这种类型应该已经被稳定的时钟所取代
第二个问题是没有为任何类型定义属性是稳定的:
LOGD("high_resolution_clock is steady: ", std::chrono::monotonic_clock::is_steady);
生成此编译错误:
error: 'std::chrono::steady_clock' has not been declared
error: 'is_steady' is not a member of 'std::chrono::monotonic_clock'
有人知道NDK是否完全支持chrono吗我还想知道将c++11与NDK一起使用是否是个好主意。我不确定它是稳定的还是将来可能会改变。我刚刚找到了一个解决方案。看起来您需要告诉您将要使用的gcc版本(我猜默认情况下是4.7)。我刚刚在Application.mk中添加了这一行
NDK_TOOLCHAIN_VERSION := 4.8
现在我可以使用稳定的时钟,而且是稳定的。仅供参考,在C++11标准化过程的后期,
单调的时钟
被重命名为稳定的时钟
,是单调的
被重命名为是稳定的
@HowardHinnant是的,我后来也看到了,无论如何,谢谢你指出:)