2012-07-03 57 views
0

我已经尝试了一个简单的NDK C++(与C语言完全不同的语法!)hello world,它的工作原理。编码ndk主要()有很多包括

现在我想用NDK编译我非常大的C++文件。

我需要重命名我的main()吗?我注意到一些使用android_main()的帖子,还是应该使用标准的package.class.method?并用优秀的环境包围它们!它的工作原理是这样的:

extern "C" { 
JNIEXPORT jstring JNICALL 
    Java_com_optimuse_app_OptimuseAppActivity_generate(JNIEnv* env, jobject thiz){} 

但是,我可以重命名我的主要是这样的东西?或者我应该使用android_main。互联网上的许多帖子让我感到困惑。

此外,我不知道我需要做什么与我所有的包括。我有一堆像<algorithm.h>和我自己的.h文件。

谢谢你帮助我的公约。

+0

关于库。即使是我添加APP_STL:= stlport_static到Android.mk,我他找不到iostream – dorien

回答

0

好吧,我得到它的工作:我从Mk文件中省略我的.h文件。我从Java添加了这个在主要底部(更名为MAIN1)它:

extern "C" { 

JNIEXPORT jstring JNICALL Java_com_example_optimuse_MainActivity_generate(JNIEnv* env, jobject thiz); 
}; 

JNIEXPORT jstring JNICALL Java_com_example_optimuse_MainActivity_generate(JNIEnv* env, jobject thiz){ 

    string str = main1(); 
    return env->NewStringUTF(str.c_str()); 

}