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
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];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
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


Rispondi quotando
elf90 g77