Bom dia.
Consegui gerar a dll HelloWorld.dll a partir dos arquivos que criei chamados HelloWorld.h e HelloWorld.c, através do Dev-C++. Mas agora quando executo a classe que criei o seguinte erro é retornado:
Exception in thread “main” java.lang.UnsatisfiedLinkError: print
at jni.HelloWorld.print(Native Method)
at jni.HelloWorld.main(HelloWorld.java:6)
Estas são as classes que criei:
package jni;
class HelloWorld {
private native void print();
public static void main(String[] args) {
new HelloWorld().print();
}
static {
System.loadLibrary(“HelloWorld”);
}
}
HelloWorld.h:
/* DO NOT EDIT THIS FILE - it is machine generated /
#include <jni.h>
/ Header for class HelloWorld */
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern “C” {
#endif
/*
- Class: HelloWorld
- Method: print
- Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorld_print
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
HelloWorld.c:
#include <jni.h>
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include “HelloWorld.h”
JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf(“Hello World!\n”);
return;
}
A dll gerada já está em C:\WINDOWS\system32
Algúem tem alguma idéia do que possa ser?