Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Java link a dll

  1. #1

    Java link a dll

    Ciao a tutti, dopo aver navigato a lungo nella rete mi rivolgo a voi per cercare aiuto al mio problema, nella speranza che possiate aiutarmi a trovare una soluzione..

    Vi spiego il mio problema:

    Ho un sistema operativo Win7 a 64bit e sto programmando JAV A con Eclipse Indingo.
    Ho necessità di linkare delle librerie esterne .dll scritte in c/c++ (ricompilate appositamente per i 64 bit).

    Ora quando eseguo il codice JAVA ottengo il seguente risultato:
    l'istruzione:

    System.loadLibrary("nome libreria");

    sembrerebbe funzionare in quanto il codice prosegue nell'esecuzione...

    una successiva chiamata a un metodo dichiarato nel seguente modo

    public native int CreateEngine();

    e richiamato come:

    oggetto.CreateEngine();

    mi dà come risultato un'eccezione java.lang.UnsatisfiedLinkError

    Non riesco a capire dove sbaglio...Controllando ho linkato correttamente (penso) la libreria esterna andando a settare il path nelle proprietà del Progetto (proprietà-> Java Build Path->Native Libraries Location)

    Ciao a tutti e grazie per l'aiuto

  2. #2
    Controllando sulla guida java fatta da voi

    http://java.html.it/articoli/leggi/2683/java-jni/3/

    ho notato che il mio programma cade nell'eccezione di non riuscire a leggere la libreria nativa....

    Ma non capisco come mai...

    Possibile che la linki correttamente e poi non riesca a leggerla??

    Per curiosità mia non ho capito come la JVM possa capire quale metodo della dll richiamare se hanno nomi diversi... nel senso anche nell'esempio linkato nella dll si ha che la funzione si chiama:

    Java_it_html_jni_HelloWorldConsoleWrapper_printf(J NIEnv *env, jobject obj, jstring a)

    mentre nel fil .java richiama semplicemente

    console.printf()

    Non riesco a capire come faccia a capire quale metodo della dll usare.

    CIao e grazie a tutti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.