我正在尝试将 chrono 与 Android NDK 一起使用。到目前为止,我取得了一些成功,但某些功能不受支持。我在我的 Android.mk 中添加了这一行:
LOCAL_CPPFLAGS := -std=c++11
我的 Application.mk 文件:
APP_ABI := armeabi-v7a
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_PLATFORM := android-9
第一个问题是 stable_clock 没有定义。这一行:
std::chrono::steady_clock::time_point time = std::chrono::steady_clock::now();
生成此编译错误:
error: 'std::chrono::steady_clock' has not been declared
我发现我可以改用 monotonic_clock 并且它可以工作,但是这种类型应该已被 stable_clock 取代。
第二个问题是属性 is_steady 没有为任何类型定义:
LOGD("high_resolution_clock is steady: ", std::chrono::monotonic_clock::is_steady);
生成此编译错误:
error: 'is_steady' is not a member of 'std::chrono::monotonic_clock'
有人知道 NDK 中是否完全支持 chrono 吗?我还想知道将 c++11 与 NDK 一起使用是否是个好主意。我不确定它是否稳定或将来可能会改变。