我尝试过一个简单的NDK C ++(与C语法完全不同的语法)hello world并且它有效。
现在我想用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 :(得分:0)
好的,我让它工作:我从Mk文件中省略了我的.h文件。我将它添加到main的底部(重命名为main1),它来自java:
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());
}