相关疑难解决方法(0)

uSTL或STLPort for Android?

我正在使用Android NDK,因为它目前不支持STL,我想知道是否有任何有这方面成功的人,或者知道哪个更适合Android平台:uSTL或STLPort的.

编辑:看起来另一种选择可能是CrystaX .NET.

从他们的网站:

...我从官方渠道重建的Android NDK r3的定制发行版.添加了对C++异常,RTTI和标准C++库的支持.

c++ android android-ndk

31
推荐指数
4
解决办法
2万
查看次数

Android std和stl支持

我正在玩android ndk.我正在使用带有cygwin的Window Vista(最新版本).我在手机上编译并发布了hello world jni示例.这是工作.代码是(是一个.cpp文件):

#include <string.h>
#include <jni.h>

extern "C" {
JNIEXPORT jstring JNICALL     Java_org_android_helloworld_HelloworldActivity_invokeNativeFunction(JNIEnv* env, jobject     javaThis);
};


jstring Java_org_android_helloworld_HelloworldActivity_invokeNativeFunction(JNIEnv*     env, jobject javaThis)
{
    return  env->NewStringUTF("Hello from native code!");
} 
Run Code Online (Sandbox Code Playgroud)

我想添加一些修改,只是为了玩一下:

#include <algorithm>
Run Code Online (Sandbox Code Playgroud)

然后,在上面的函数中,我补充说:

int a;
a=std::min<int>(10, 5);
Run Code Online (Sandbox Code Playgroud)

但是编译器说它找不到文件'algorithm'并且min()不是std的一部分.

经过一番搜索,我发现android ndk有一个gnu-libstdc ++目录,里面有所有需要的std文件.阅读NDK文档,我已经了解到usint std ::*应该在不对代码进行任何修改的情况下工作(如果包含正确的头文件).但似乎gg on cygwin无法找到所需的文件.

为了能够在android ndk应用程序中的.cpp文件中使用std和stl,有哪些步骤?

c++ android std c++-standard-library android-ndk

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×2

android-ndk ×2

c++ ×2

c++-standard-library ×1

std ×1