Ciao a tutti,
sto provando ad integrare il codice C scritto da diverse persone in una dll da richiamare con Java tramite JNI.
Sto utilizzando NetBeans con CygWin e Gcc.
Ho una serie di errori di questo tipo
codice:
build/Debug/Cygwin-Windows/BPLEARN.o: In function `_Z11genera_pesiv':
/cygdrive/c/Users/Utente/Documents/OcrB_ven/OcrB/BPLEARN.cpp:145: multiple definition of `_Input'
build/Debug/Cygwin-Windows/BPCLASS.o:/cygdrive/c/Users/Utente/Documents/OcrB_ven/OcrB/BPCLASS.cpp:249: first defined here
build/Debug/Cygwin-Windows/BPLEARN.o: In function `_Z13apprendimentoiiiP2fvi':
/cygdrive/c/Users/Utente/Documents/OcrB_ven/OcrB/BPLEARN.cpp:798: multiple definition of `_IH'
build/Debug/Cygwin-Windows/BPCLASS.o:/cygdrive/c/Users/Utente/Documents/OcrB_ven/OcrB/BPCLASS.cpp:108: first defined here
build/Debug/Cygwin-Windows/BPLEARN.o: In function `_Z13apprendimentoiiiP2fvi':
/cygdrive/c/Users/Utente/Documents/OcrB_ven/OcrB/BPLEARN.cpp:798: multiple definition of `_HO'
build/Debug/Cygwin-Windows/BPCLASS.o:/cygdrive/c/Users/Utente/Documents/OcrB_ven/OcrB/BPCLASS.cpp:249: first defined here
/cygdrive/c/Users/Utente/Documents/OcrB_ven/OcrB/BP_LIBWB.cpp:37: multiple definition of `print_error(int, char*)'
build/Debug/Cygwin-Windows/Mischia.o:/cygdrive/c/Users/Utente/Documents/OcrB_ven/OcrB/Mischia.cpp:39: first defined here
build/Debug/Cygwin-Windows/BP_LIBWB.o: In function `_Z11carica_pesiPc':
/cygdrive/c/Users/Utente/Documents/OcrB_ven/OcrB/BP_LIBWB.cpp:64: multiple definition of `carica_pesi(char*)'
build/Debug/Cygwin-Windows/BPCL_LIB.o:/cygdrive/c/Users/Utente/Documents/OcrB_ven/OcrB/BPCL_LIB.cpp:62: first defined here
Per quanto riguarda gli errori sulle variabili HO, IH mi sono accorto che BPCLASS.cpp e BPLEARN.cpp definiscono le stesse variabili e in BP_LIBWB viene fatto dichiarando extern. Pensavo di eliminare la dicitura "extern" ma non posso perchè ad esempio la dichiarazione di IH è extern double IH[][MAX_HIDDEN];
Se tolgo extern mi da errore perché la prima dimensione non è definita.
Come posso fare???
Poi ci sono gli errori sulla definizione multipla di funzione tra le classi BPCL_LIB.cpp BP_LIBWB.cpp e Mischia.cpp. I prototipi delle funzioni che "collidono" sono definiti rispettivamente in BPCL_LIB.h BP_LIBWB.h e nel prepocessore di Mischia.cpp e i file header non si richiamano a vicenda, ne Mischia.cpp ha gli include dei due header.
Suggerimenti?
Grazie a tutti