SWIG l'ho sentito nominare la prima volta solo dopo aver letto il tuo post.
Sinceramente con JNI non ho mai avuto problemi ma, come già detto, JNI richiede di scrivere una DLL che faccia da ponte fra Java e la risorsa nativa. Quindi, richiede un compilatore per il codice con cui si scrive la DLL.
JNA, pur non avendolo mai provato, non mi sembra sia così complicato. Si tratta semplicemente di scrivere una interfaccia Java che rappresenti le funzioni messe a disposizione dalla DLL. Ora, non avendolo mai provato, non so se sia effettivamente così ampio da coprire tutti i casi, ma se non ci sono problemi con i tipi di dato, proverei prima quest'ultimo approccio, senza andare a cercare soluzioni più complesse come questo SWIG, che, da quello che ho visto, richiede comunque un compilatore per la scrittura di una (o due, addirittura?) DLL intermedia.
Ciao.![]()