写了一段jni程序,在相应的c++中需要调用别的动态链接库“piapi32.dll”,程序如下:
#include<stdio.h>
#include"GetPIJNI.h"
#include<windows.h>JNIEXPORT void JNICALL Java_GetPIJNI_setServerNode(JNIEnv *env, jobject, jstring serverName)
{
typedef int (*Ppiut_setservernode)(char * server);
HINSTANCE hDLL;
Ppiut_setservernode piut_setservernode;
hDLL = LoadLibrary("piapi32.dll");
piut_setservernode = (Ppiut_setservernode)GetProcAddress(hDLL,"piut_setservernode");
const char * server;
servername = (env)->GetStringUTFChars(serverName,NULL);
int tmp = piut_setservernode((char *)server);
printf("tem=%s",tmp);
printf("server = %s",server);
FreeLibrary(hDLL);
(env)->ReleaseStringUTFChars(serverName,server);
}
在vc里编译时这段程序都可以通过,但是在生成dll文件运行java程序时,会报严重的错误,跪求达人指教,万分紧急,多谢多谢