目前,我正在通过gnustl使用具有C ++ 11支持的NDK-r10c。不幸的是,我们的项目需要切换到stlport。从gnustl更改为stlport时,在编译过程中会引发许多错误。下面是Application.mk文件。

APP_PLATFORM            := android-18
NDK_TOOLCHAIN_VERSION   := 4.8
APP_ABI                 := armeabi-v7a
APP_STL                 := stlport_static
# APP_STL               := gnustl_static
APP_CPPFLAGS            := -std=c++11
ifeq ($(NDK_DEBUG),1)
APP_OPTIM               := debug
else
APP_OPTIM               := release
endif


似乎C ++ 11功能不可用:
 -向量上的cbegin(),cend()
 -向量上的data(),
 -无法从cbegin()等推论出auto

最佳答案

STLport太旧了,根本不支持C ++ 11。

-std = c ++ 11之类的标志只会影响编译器,而不一定影响STL实现。

您将必须使用gnustl或libc ++

关于android - Android NDK C++ STLport,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26978606/

10-09 06:04