Como gerar DLL no JNI [RESOLVI]

1 resposta
B

Estou fazendo um tutorial sobre JNI, parece simples mas não é, me indicaram ele aqui no GUJ.

Estou travado na parte de compilar o arquivo .C não manjo muito de C.

O compilador que to usando é o MinGW com o Cygwin da mais erros por isso mudei.

O restante está ok mas na hora de compilar da erro, já compilei outros arquivos em C mas quando tem o JNI aparece isso:

C:\pasta1>gcc -Ic:/jdk1.6.0_11/include -Ic:/jdk1.6.0_11/include/win32 HelloWorld.c HelloWorld.dll gcc: HelloWorld.dll: No such file or directory HelloWorld.c:9:2: warning: no newline at end of file

Abaixo código que estou usando no tutorial

HelloWorld.java

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 "HelloWorld.h"
JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf("Hello World!\n");
return;
}

Estou com Windows Vista, tentei fazer os passos no Netbeans 6.8 mas ele não reconhece o #include <jni.h> e não reconhece JNIEXPORT void JNICALL Java_HelloWorld_print
(JNIEnv *, jobject); fica tudo com linhas vermelhas por isso vim para a linha de comando.

Se puderem ajudar ja estou quase ficando doido.

1 Resposta

B

Já achei o problema, na verdade no livro que estou usando mostra informação sobre o erro.

Criado 18 de março de 2010
Ultima resposta 19 de mar. de 2010
Respostas 1
Participantes 1