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]
-------------------------------------------------------------------------