JNI para dll (java.lang.UnsatisfiedLinkError)

1 resposta
homisinho

Pessoal estou implementando uma biblioteca onde vou acessar uma dll.
Aqui tem um exemplo de como fazer a chamada do metodo, fornecido pela dll.

Example:

FTID_STATUS Status = FTID_SUCCESS;
DWORD NumDevices = 0;

Status = FTID_GetNumDevices(&NumDevices);

Aqui tem um documento com a especificação da dll
[url]http://www.ftdichip.com/Support/Documents/ProgramGuides/FTChipIDPG11.pdf[/url]

E aqui esta o meu codigo jni para acessar a mesma:

public class FTChipID {
    
    static {
        try{
	   System.loadLibrary("FTChipID");
        }catch (UnsatisfiedLinkError un){
            un.printStackTrace();
        }catch (SecurityException se){
            se.printStackTrace();
        }
    }
    


    public native int[] FTID_GetNumDevices(int[] numDevice);
    
    public static void main(String[] args) {
       
        FTChipID objChip = new FTChipID();        
        int[] novo = new int[2];
        novo[0]=0;       
        int[]  status = objChip.FTID_GetNumDevices(novo);
              
    }
    
}

O erro é:

Exception in thread "main" java.lang.UnsatisfiedLinkError: FTChipID.FTID_GetNumDevices([I)[I

Já tentei com vários tipos de variáveis.

1 Resposta

homisinho

Link para solucionar…

http://javafree.uol.com.br/topic-875435-Como-usar-DLL-em-JAVA.html
http://today.java.net/article/2009/11/11/simplify-native-code-access-jna

Antes de implementar algo procure muito bem!!! Alguém já poderia ter passado por um problema ou ter a mesma ideia.

JNA

Criado 31 de agosto de 2012
Ultima resposta 3 de set. de 2012
Respostas 1
Participantes 1