Jni?

Desculpe se estou postando minha duvina do fórum errado!!!

Eu estou iniciando no uso da técnologia JNI. Acabo de implementar o programa básico de testes mas quando executo recebo uma UnsatisfiedLinkException.

Eu fiz, aparentemente, tudo que devia:

public class Test {

	static {
		System.loadLibrary("Test");
	}

	public static void main(String[] args) {
		Test t = new Test();
		t.print("JNI Test Ok");
	}

	public native void print(String msg);

}
#include "Test.h"
#include <stdio.h>

JNIEXPORT void JNICALL Java_Test_print(JNIEnv *env, jobject obj, jstring msg) {
    jboolean isCopy;
    char *rawmsg;

    rawmsg = (*env)-&gtGetStringUTFChars(env, msg, &isCopy);
    printf(rawmsg);
}

…onde Test.h é o arquivo de cabeçalho gerado pela ferramente javah!!

O arquivo Test.c foi compilado com sucesso gerando uma DLL Test.dll que se encontra no mesmo diretório da classe Test.class.

Alguém pode me ajudar?

Qual SO? Qual compilador? Qual versão do Java? Quando comando você usou para executar? Quais eram as variaveis de ambiente? Qual era o path? Você setou java.library.path? Você setou LD_LIBRARY_PATH? Tua DLL tem os símbolos necessários?

1 - Windows.

2 - MingW gcc.

3 - jdk 1.5.02

4 - java [Classe]

5 - Não setei nenhuma variavel de ambiênte, nem mesmo setei java.library.path, a dll está no mesmo diretório do arquivo .class.

6 - Que símbolos? O código que usei está ai!!

Qual a mensagem que acompanha?

algo como ‘is not a valid Win32 application’ ?

ou ‘no Test in java.library.path’ ?

Também estou tentando criar um metodo nativo em java.
Estou usando as mesmas ferramentas que vc… conssegui criar uma dll mas nao funcionou… como vc fez pra criar a sua dll no MinGW com GCC ? Quais comandos vc usou? Quais arquivos vc usou?

Obrigado,

aplicações JNI são dependentes d SO?
Se eu tiver no linux não tem como gerar a .dll além do .so?? :? :?: