locknet.ro

archive

GCC, Windows, JNI

Nota catre mine.

Cand esti in Windows si incerci sa folosesti gcc pentru a compila biblioteca de legaturi dinamice (mai pe romaneste dll-ul) ce va contine implementarea pentru metodele native declarate in Java cu ajutorul JNI, nu uita sa adaugi flagul -D_JNI_IMPLEMENTATION_.

In final, comanda pentru compilare poate arata asa:

set INCLUDES = -I%JAVA_HOME%\include -I%JAVA_HOME%\include\win32
set LINKFLAGS=-Wall -Wl,--kill-at -shared
gcc -D_JNI_IMPLEMENTATION_ %INCLUDES% %LINKFLAGS% ....

Daca tot esti aici, nu uita sa aplici strip pe fisierul binar rezultat.

Si vezi ca exista o implementare pentru pthreads si pentru Windows aici. Merita incercat.

Apropos, nu mai ai nevoie de metoda DllMain in libraria ta JNI. Cred ca doar daca folosesti GCC.