互斥体的 Tango 编译问题

Tango compilation issues with mutex

我正在尝试使用 Android Studio 和 NDK 编译 Tango 示例(来自 here),但我一直 运行 收到以下错误:

Error:(96, 8) error: 'mutex' in namespace 'std' does not name a type

来自行

std::mutex pose_mutex_;

我使用的是最新的 GitHub 版本,其中包含必要的库。我已经检查了 Android.mk 文件,发现它使用 c++11 标志进行编译,而我编写的另一个简单的 C++ 程序使用互斥量进行编译时效果很好。

我仍然从 Tango 开始,所以我正在努力调试。其他人遇到过这个问题吗?我错过了什么?

我设法回答了我自己的问题。

示例项目中给出的Application.mk有行

    APP_STL := gnustl_static

显然这个支持库没有 Mutex 支持。将其更改为

    APP_STL := c++_static

似乎已经修复了它,现在可以愉快地编译和运行了。