Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Neaktivní uživatel:21.12.2020 21:14

Ahoj, zkouším vytvořit .dll knihovnu pro JNI. Používám OpenJDK 15.0.1. a jako c++ compiler mám g++. Když zkouším přes cmdéčko vytvořit .dll knihovnu přes příkaz

g++ -c -I%JAVA_HOME%\include -I%JAVA_HOME%\include\win32 HelloWorldJNI.cpp -o HelloWorldJNI.o

Tak mi to hází dva errory.
ERROR 1:

g++: error: Files\Java\jdk-15.0.1\include: No such file or directory

ERROR 2:

g++: error: Files\Java\jdk-15.0.1\include\win32: No such file or directory

Díky za každou odpověď.

Zkusil jsem: ...

Chci docílit: ...

Odpovědět
21.12.2020 21:14
Neaktivní uživatelský účet
Avatar
Atrament
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Atrament:21.12.2020 23:51

To vypadá na špatně nastavenou JAVA_HOME, schválně co ti vrátí příkaz echo %JAVA_HOME%?

 
Nahoru Odpovědět
21.12.2020 23:51
Avatar
Odpovídá na Atrament
Neaktivní uživatel:22.12.2020 0:26

Díky za odpověď. Chyba už je vyřešena. stačilo místo -I%JAVA_HOME%\in­clude -I%JAVA_HOME%\in­clude\win32 napsat -I"%JAVA_HOME%\in­clude" -I"%JAVA_HOME%\in­clude\win32". Teď mám problém jak tu knihovnu linknout. Nevím jak s tím příkazem atd.

Nahoru Odpovědět
22.12.2020 0:26
Neaktivní uživatelský účet
Avatar
Robert Michalovič:22.12.2020 7:52

Proč nepoužíváš seriál? https://www.itnetwork.cz/…face-bez-ide

Tvůj kompilátor neznám(myslím tím podrobně dokumentaci gcc) ale přikaz pro linkováni by pravděpodobně měl vypadat takto :

gcc -I"%JAVA_HOME%\include" -I"%JAVA_HOME%\include\win32 -Wl,--add-stdcall-alias -shared -o HelloWorldJNI.dll HelloWorldJNI.o

Je to bez záruky, nejdříve sis ovšem měl nastudovat dokumentaci tvé kompilátoru/linkeru a vyzkoušet vytvoření standardní dll knihovny abys získal čistý příkaz tvého kompilátoru k tvorbě dll než přistoupíš k JNI.

Editováno 22.12.2020 7:53
 
Nahoru Odpovědět
22.12.2020 7:52
Avatar
Odpovídá na Robert Michalovič
Neaktivní uživatel:22.12.2020 11:50

Ten seriál nepoužívám, protože je nekvalitní a nedostačující.

Nahoru Odpovědět
22.12.2020 11:50
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Robert Michalovič:22.12.2020 17:57

To se mě docela dotklo, od nuly která která nezvládá nastavit ani cestu u příkazového řádku a nedá tam apostrofy. (mimochodem v tom v citovaném článku ty apostrofy jsou). Nicméně, nikdo nebrání zde na webu udělat vlastní seriály. Určitě nejsem sám kdo se rád poučí a tvých fenomenálních postupech a myšlenkách. Fakt jsem zvědav co dokážeš, když nejsi schopen ani sestavit příkaz k linkování knihovny.

Editováno 22.12.2020 17:57
 
Nahoru Odpovědět
22.12.2020 17:57
Avatar
Odpovídá na Robert Michalovič
Neaktivní uživatel:22.12.2020 20:18
:D
Akceptované řešení
+5 Zkušeností
Řešení problému
Nahoru Odpovědět
22.12.2020 20:18
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.