繁体   English   中英

在ndk中从jni方法调用另一个C ++方法

[英]Calling another C++ method from jni method in ndk

首先,我有一个JNIEXPORT方法如下所示:

  JNIEXPORT void JNICALL Java_com_app_osap_Native_nativeProcessImage(JNIEnv *env, jobject thiz, jstring imagePath){
  // ...
   handle(data);
 }

然后我在同一个cpp文件中编写另一个方法:

 void handle(int data[]){

 }

但是我在编译源代码时遇到这个错误:

   'handle' was not declared in this scope

请告诉我我的问题是什么,以及如何解决它。
提前致谢!

由于您不使用标头,因此需要在JNI函数之前声明句柄函数。 或者,您可以开始使用包含函数声明的标头,然后将其包含在cpp文件中。 喜欢:

test.h:

void handle(int data[]);

TEST.CPP

#include test.h

不要忘记在Android.mk中将标题添加到模块中:

include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_SRC_FILES := path/to/test.cpp
LOCAL_C_INCLUDES := path/to/test.h     #This is the header file you created
include $(BUILD_SHARED_LIBRARY)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM