sim,
cara…eu estou meio perdido, vc já deve ter percebido.
Vc teria alguma dica de como ajeitar o CLASSPATH?
sim,
cara…eu estou meio perdido, vc já deve ter percebido.
Vc teria alguma dica de como ajeitar o CLASSPATH?
Ai 6,
Se você já setou o JAVA_HOME, colocou o JDK no path e setou seu CLASSPATH, o que está acontecendo ?
Deveria estar funcionando ! Diz o que você quer fazer e o que acontece !
t+
eu estou tentanto trabalhar com JNI.
Exception in thread “main” java.lang.UnsatisfiedLinkError: no hello in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
at HelloWorld.<clinit>(HelloWorld.java:17)
pelo jeito tenho que ajeitar o CLASSPATH.
tenho que exportar o q?
como conseguir criar o arquivo .h ?
valeu…
Você precisa:
1 - gerar o .h (já faz tempo, mas acho que é com “javah -h MinhaClass”)
2 - implementar a library (minhalibrary.so, ou minhalibrary.dll)
3 - carregar no seu helloworld a dll chamando System.loadLibrary(“minhalibrary”) ou algo parecido;
O error que você está obtendo é porque você está utilizando sua classe “native” sem fazer o link correto com a library.
Boa Sorte.
da uma olhada…dentro de Programas está a minha classe…
emanuel@simuplan02:~/Pesquisa/JNI/Programas$ javah -jni HelloWorld
bash: javah: command not found
e fiz assim tbm:
emanuel@simuplan02:/usr/local/java/j2sdk1.4.2/bin$ ./javah -jni ~/Pesquisa/JNI/Programas
Error: Class /home/emanuel/Pesquisa/JNI/Programas could not be found.
Você precisa:1 - gerar o .h (já faz tempo, mas acho que é com “javah -jni MinhaClass”) 2 - implementar a library (minhalibrary.so, ou minhalibrary.dll) 3 - carregar no seu helloworld a dll chamando System.loadLibrary(“minhalibrary”) ou algo parecido;O error que você está obtendo é porque você está utilizando sua classe “native” sem fazer o link correto com a library.
Boa Sorte.
Lembrei, você precisa da sua library no PATH.
Você usa JDK 1.4 ? A partir da versão 1.4 é obrigatório que a classe esteja dentro de um package.
da uma olhada…dentro de Programas está a minha classe…emanuel@simuplan02:~/Pesquisa/JNI/Programas$ javah -jni HelloWorld
bash: javah: command not founde fiz assim tbm:
emanuel@simuplan02:/usr/local/java/j2sdk1.4.2/bin$ ./javah -jni ~/Pesquisa/JNI/Programas
Error: Class /home/emanuel/Pesquisa/JNI/Programas could not be found.
Isso nao vai funcionar pq o package da tua classe nao eh o caminho completo ate o nome do arquivo. Faz assim:
export PATH=$PATH:/usr/local/java/j2sdk1.4.2/bin
cd ~/Pesquisa/JNI/Programas
javah -jni nomeDaClasse
Rafael
quero agradecer a ajuda de todos…
rafael,
tua dica foi 10, na mosca…valeu…cara;;
Estou tentanto usar códigos nativos.
e agora preciso criar uma biblioteca compartilhada .
alguém tem uma dica?
OBS: precisa criar esta biblioteca compartilhada, ou não vai ter problema no momento de tentar acessar códigos escritos em outra linguagem…? vai interferir se não for criada?
valeu