jni的问题,求调通一个函数,分不多了。

lxpandsq 2012-08-21 09:54:09

//cpp文件代码如下:
#include <stdio.h>
#include "java2dll.h"
JNIEXPORT jstring JNICALL Java_Java2dll_cTrim(JNIEnv *env, jobject obj, jstring str)
{
const char* strTemp;
strTemp=env->GetStringUTFChars(env,str,NULL);

if(strTemp==NULL)
{ return NULL;
}
cTrim(strTemp);
return env->NewStringUTF(env,strTemp);
env->ReleaseStringUTFChars(env,str,strTemp);
}

//.h文件代码如下:

/* DO NOT EDIT THIS FILE - it is machine generated */

#include <jni.h>

/* Header for class Java2dll */

#ifndef _Included_Java2dll

#define _Included_Java2dll

#ifdef __cplusplus

extern "C" {

#endif

/*

* Class: Java2dll

* Method: cTrim

* Signature: (Ljava/lang/String;)Ljava/lang/String;

*/

JNIEXPORT jstring JNICALL Java_Java2dll_cTrim(JNIEnv *, jobject, jstring);

#ifdef __cplusplus

}

#endif

#endif



报错如下:

Compiling...

java2dll.cpp

E:\vcÏîÄ¿\java2dll\java2dll.cpp(8) : error C2660: 'GetStringUTFChars' : function does not take 3 parameters

E:\vcÏîÄ¿\java2dll\java2dll.cpp(15) : error C2065: 'cTrim' : undeclared identifier

E:\vcÏîÄ¿\java2dll\java2dll.cpp(17) : error C2660: 'NewStringUTF' : function does not take 2 parameters

E:\vcÏîÄ¿\java2dll\java2dll.cpp(19) : error C2660: 'ReleaseStringUTFChars' : function does not take 3 parameters

Ö´ÐÐ cl.exe ʱ³ö´í.

java2dll.obj - 1 error(s), 0 warning(s)

这在网上找的一个例子,情况和我要做的事情一样,可惜就是这段代码不通。
网址是http://wallimn.iteye.com/blog/647409

大概就是说我的代码参数不对,还有就是那个方法未定义,可是,我不是在.h里面已经定义了吗?求高手:






...全文
41 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
逆天小北鼻 2012-08-21
  • 打赏
  • 举报
回复
给方法换换位置呗,再试试。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧