Java Native Interface javah při kompilaci vrací chybu – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Java Native Interface javah při kompilaci vrací chybu – Java – Fórum – Programujte.comJava Native Interface javah při kompilaci vrací chybu – Java – Fórum – Programujte.com

 

TK
~ Anonymní uživatel
2 příspěvky
6. 10. 2014   #1
-
0
-

Zdravím, už delší dobu se pokouším zprovoznit java native interface Ale ztroskotal sem hned na uplným začátku. Nejdřív zkompiluju přez javac, to je všechno OK, ale jakmile se pokusím vytvořit hlavičkovej soubor tak mi to háže chybu

Exception in thread "main" java.lang.IllegalArgumentException: Not a valid class name: JNI.class
    at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:177)
    at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:68)
    at com.sun.tools.javah.JavahTask.run(JavahTask.java:509)
    at com.sun.tools.javah.JavahTask.run(JavahTask.java:335)
    at com.sun.tools.javah.Main.main(Main.java:46)


kód v jave je

package test;

public class JNI {
    
    private native void pozdrav();
    
    static {
        System.loadLibrary("HelloWorld");
    }
    
    public static void main(String[] args) {
        new JNI().pozdrav();
    }
}

při kompilaci postupuju

- javac JNI.java

-javah -jni JNI.class

OS Fedora 64bit, dík za příadnou pomoc!

Nahlásit jako SPAM
IP: 92.245.198.–
TK
~ Anonymní uživatel
2 příspěvky
6. 10. 2014   #2
-
0
-

Náhoda, nejde to jakou dobu a přijdu na to jen co to napíšu na fórum... Pomohlo vytvořit .jar a javah použít na něj...

Nahlásit jako SPAM
IP: 92.245.198.–
NotBeginner
~ Anonymní uživatel
185 příspěvků
7. 10. 2014   #3
-
0
-

Je pravda, že JNI už rok nedělám ale kdybys zrušil toto :

    static {
        System.loadLibrary("HelloWorld");
    }
    
    public static void main(String[] args) {
        new JNI().pozdrav();
    }

a kód by vypadal takto :

package test;

public class JNI {
    
    private native void pozdrav();
    
}

tak by se ti to okamžitě zkompilovalo a pak bys mohl použít javah na vytvoření header file pro nativní kód.

Nahlásit jako SPAM
IP: 217.112.161.–
NotBeginner
~ Anonymní uživatel
185 příspěvků
7. 10. 2014   #4
-
0
-

Blbost - oprava, ty řešíš jiný problém.

Syntaxe javah zni takto :

javah -jni JNI

Nesmí tam být koncovka .class

Nahlásit jako SPAM
IP: 217.112.161.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 15 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý