抱歉,未实现:使用C ++ 11的非静态数据成员初始值设定项

时间:2014-08-15 12:49:05

标签: android c++ c++11 build android-ndk

我正在尝试从Android开发人员的代码库中构建一个库,但是我收到了错误。

  抱歉,未实现:非静态数据成员初始值设定项

我知道这些错误来自于我的类定义中的初始化值,但在我尝试过的C ++ 11兼容编译器中,这都很常见。

在网上搜索了一下后,我将以下内容添加到Android.mk

APP_USE_CPP0X := true

...并使用编译器标志-std=c++11,但无济于事。该消息是否真实,即它实际上没有在Google的arm-linux-androideabi-g ++中实现?

编辑1:

我使用安装了XCode的mac,因此我也将NDK_TOOLCHAIN_VERSION := clang放在Android.mk中,目前版本为5.1。

修改:2

即使使用上面的标志,似乎arm-linux-‌​androideabi-g++仍然用于构建。如何在OSX上安装Android的clang NDK工具链?

1 个答案:

答案 0 :(得分:1)

您必须将NDK_TOOLCHAIN_VERSION := clang放入 Application.mk 。请注意,4.8很可能也适合您。