Fala pessoal,
Li bastante coisa aqui no fórum e na internet, mas não to entendendo aonde está dando errado.
Eu preciso criar um programa em Java que carregue uma .dll de uma câmera digital (criada em C++), e use uma função dela, chamada InicializaSDK, e estou usando JNI pra isso.
Tentei criar uma wrapper para carregar, mas tá dando um erro… aí vai o que eu tentei fazer:
1- Primeiro criei o…
…Inicia.java:
[code]public class Inicia{
public native void InicializaSDK();
public static void main (String[] args){
Inicia c = new Inicia();
c.InicializaSDK();
}
static{
System.load("C://j2sdk1.4.2_12//bin//CDSDK.dll");
}
}[/code]
2- Depois, compilei com o javac e usei o javah pra criar o…
…Inicia.h:
[code]#include <jni.h>
/* Header for class Inicia */
#ifndef _Included_Inicia
#define _Included_Inicia
#ifdef __cplusplus
extern “C” {
#endif
/*
- Class: Inicia
- Method: InicializaSDK
- Signature: ()V
*/
JNIEXPORT void JNICALL Java_Inicia_InicializaSDK
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
[/code]
3- Então, escrevi o arquivo…
…Inicia.cpp:
[code]#include <jni.h>
#include <stdio.h>
#include “Inicia.h”
JNIEXPORT void JNICALL Java_Inicia_InicializaSDK
(JNIEnv *env, jobject obj){
return InicializaSDK();
}[/code]
E daí quando tento usar o “gcc -shared Inicia.cpp -o CDSDK.dll” ele dá erro.
Alguém sabe onde eu estou errando, ou o quê eu devo fazer?
Valeu, abração!