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.