C代码在android ndk中给出错误 [英] C code gives error in android ndk

查看:96
本文介绍了C代码在android ndk中给出错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的,
请帮助我.....

Hi Dear,
Please help me.....

JavaVM *m_vm;
JNIEnv* env;
jobject obj;
JavaVMInitArgs vm_args;
long status = JNI_CreateJavaVM(&m_vm,(void **)&env, &vm_args);


每当在android ndk中编译此代码时,都会报错,错误为


Whenever compile of this code in android ndk.this give errorand the error is

allwikan@ubuntu:~/Desktop/NDKDemo$ ndk-build
Compile thumb  : ndk_demo <= ndk_demo.c
jni/ndk_demo.c:21:1: error: initializer element is not constant
make: *** [obj/local/armeabi/objs/ndk_demo/ndk_demo.o] Error 1


那我哪里错了.请帮帮我.

谢谢


then where am i wrong.Please help me.

Thanks

推荐答案

ndk-build 编译 缩略图 : ndk_demo . c:21:1: 错误: 初始化程序 元素 不是 常量 制作: *** [obj/local/armeabi/objs/ndk_demo/ndk_demo.o] 错误 1
ndk-build Compile thumb : ndk_demo <= ndk_demo.c jni/ndk_demo.c:21:1: error: initializer element is not constant make: *** [obj/local/armeabi/objs/ndk_demo/ndk_demo.o] Error 1


那我哪里错了.请帮帮我.

谢谢


then where am i wrong.Please help me.

Thanks


您应该放置以下行:
You should place the line:
long status = JNI_CreateJavaVM(&m_vm,(void **)&env, &vm_args);


在函数内部.
例如



inside a function.
E.g.


JavaVM *m_vm;
JNIEnv* env;
jobject obj;
JavaVMInitArgs vm_args;
long status;

void init()
{
  status = JNI_CreateJavaVM(&m_vm,(void **)&env, &vm_args);
  // other initialization stuff
}


这篇关于C代码在android ndk中给出错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆