Estava começando a estudar JNI e parei logo no primeiro exemplo. É bem
simples, um HelloWorld. Compilei-o corretamente, criei o HelloWorld.h com o
javah, e compilei a dll utilizando o Microsoft Visual C++ 6.0.

cl -Ic:\jdk1.2.2\include -Ic:\jdk1.2.2\include\win32 -MD -LD
C:\MyHousehold\java\HelloWorld.c -FeHelloWorld.dll


Mas ao registrar a biblioteca utilizando o regsvr32, deu a seguinte mensagem
de erro:

HelloWorld.dll was loaded, but the DllRegisterServer entry point was not
found.

 <<...OLE_Obj...>> 


Lembro que meu sistema é um Windows 2000. Já tinha visto que não ia dar em
nada e rodei a classe só para verificar. E, sem nenhuma surpresa, apareceu o
seguinte erro:


Exception in thread "main" java.lang.UnsatisfiedLinkError: no HelloWorld in
java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1290)
        at java.lang.Runtime.loadLibrary0(Runtime.java:473)
        at java.lang.System.loadLibrary(System.java:777)
        at HelloWorld.<clinit>(HelloWorld.java:7)


Alguém tem experiência com JNI ou já enfrentou algo semelhante? Lembro que o
uso código nativo em meu projeto vem da necessidade de usar Shared Memory.
Caso alguém saiba como fazer este tipo de comunicação em java puro, por
favor, envie a solução.

abraços

Jorge Roberto Diniz Martins
[EMAIL PROTECTED]
www.unear.net
Tel.: +55 (21) 3389-2924


ps: abaixo vão os códigos


 <<HelloWorld.java>>  <<HelloWorld.c>>  <<HelloWorld.h>> 

HelloWorld.java

HelloWorld.c

HelloWorld.h

------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a