e ae galera
estou fazendo uma aplicação para ler dados de uma balança e depois gerar uma etiqueta
estou usando jni para ler a dll que o fabricante fornece
Alguem tem dicas ?
recebo a seguinte mensagm ao tentar executar um metodo da dll
Exception in thread “main” java.lang.UnsatisfiedLinkError: br.com.house.jni.LePeso.AlteraModeloBalanca(I)V
at br.com.house.jni.LePeso.AlteraModeloBalanca(Native Method)
at br.com.house.jni.LePeso.main(LePeso.java:18)
publicclassLePeso{publicnativeintAbrePortaSerial(StringPortaSerial);static{System.load("C:\\Documents and Settings\\tveiga\\workspace\\balanca\\Le_PesoImpl.dll");}publicstaticvoidmain(String[]args){LePesolePeso=newLePeso();intresp=lePeso.AbrePortaSerial("COM1");System.out.println(resp);}}
Acho que não precisa do jni.
Certifique-se de que a classe está no pacote correto também br.com.house.LePeso
M
marcelux
Da uma olhada nos parametros do seu compilador para gerar JNI, tive um problema parecido e coloquei uns parametros a mais no compilador e tudo funcionou
T
Thiago_veiga
tirando todos os includes do arquivo c , nao consigo gerar a dll tirando apenas o #include ‘jni.h’ o erro continua o mesmo
com relaçao ao pacote o nome do pacote br.com.house e o nome da classe LePeso
T
Thiago_veiga
para gerar o arquivo .h usei o comando
javah - jni br.com.house.LePeso
para gerar a dll usei o comando
C:\Documents and Settings\tveiga\workspace\balanca>cl -I “c:\Arquivos de program
as\Java\jdk1.6.0_13\include” -I “c:\Arquivos de programas\Java\jdk1.6.0_13\inclu
de\win32” -LD -MD Le_PesoImpl.c -FeLe_PesoImpl.dll
este comando da dll so funcionou depois de instalar o visual studio c++ express edition