Problema utilizando biblioteca no Linux

2 respostas
Sansalone

Pessoal, eu estou tendo problemas para acessar uma biblioteca no Linux.

Aqui no trabalho tenho uma biblioteca libdisptec55.so que trabalha com display de teclado Gertec e eu preciso acessar os métodos dela em Java. Eu fiz um exemplo em C que utiliza as funções da biblioteca e este deu certo, mas quando eu faço no Java,  esse erro: Exception in thread main java.lang.UnsatisfiedLinkError: TestaTEC.abrirConexao()V

at TestaTEC.abrirConexao(Native Method)

at TestaTEC.main(TestaTEC.java:14)

Aí eu criei um header disptec55.h:

#include <stdio.h>
#include <stdlib.h>

void abrirConexao();
void fecharConexao();
int displayString(char *str);
int displayCaractere(char chr);
int posicionaCursor(int c, int l);
int limpaDisplay();
int limpaLinha(int l);

O meu exemplo em C é este:

#include "disptec55.h"
int main(int argc, char **argv){
    abrirConexao();
    return 0;
}

E o meu exemplo em Java é este:

public class TestaTEC{
    public native void abrirConexao();
    public native void fecharConexao();
    public native int displayString(String str);
    public native int displayCaractere(char chr);
    public native int posicionaCursor(int c, int l);
    public native int limpaDisplay();
    public native int limpaLinha(int l);
    static{
      System.loadLibrary("disptec55");
    }
    public static void main(String... args){
      TestaTEC t = new TestaTEC();
      t.abrirConexao();
    }
}

O que posso estar fazendo errado? A biblioteca está em /usr/lib e jre/lib/i386

Se puderem me ajudar, muito obrigado!

2 Respostas

Sansalone

Pessoal, alguém pode me ajudar? Eu tenho um prazo apertado pra entregar esta implementação!

Obrigado!

estevao.jordao

Opa cara pelo jeito você não esta conseguindo acessar a lib, da uma olhada neste tutorial, você chegou a fazer todos os passos descritos nele ?

http://www.javaworld.com/javatips/jw-javatip23.html

Criado 24 de julho de 2013
Ultima resposta 31 de jul. de 2013
Respostas 2
Participantes 2