Android JNI中的C 11随机库

我正在尝试使用使用C随机库的本机组件编译 Android应用程序.

我的Application.mk文件是:

APP_STL := stlport_static
APP_CPPFLAGS += -std=gnu++11
NDK_TOOLCHAIN_VERSION := 4.8

在编译时我收到错误:

[armeabi] Compile++ thumb: Project <= main.cpp
/home/user/project/main.cpp:12:18: fatal error: random: No such file or directory
#include <random>

随机库是否适用于Android?

最佳答案

APP_STL := stlport_static

APP_CPPFLAGS += -std=gnu++11

NDK_TOOLCHAIN_VERSION := 4.8

你正在重新构建STLPort – 据我所知 – 是一个C 03标准库实现.因此它不会有C 11标题.

在其他options中,您可以考虑:

APP_STL:= gnustl_static

要么

APP_STL:= c++_static

它分别为您提供GNU libstd或LLVM的libc.如果您担心应用程序的GPL解决方案(因为谷歌显然默认不使用libstd),请使用libc.此时你也可以像编译器一样铿锵作响.

点赞