Ho un progetto C++ in Eclipse CDT che utilizza alcune funzioni di OpevCV e si compila in un eseguibile e funziona correttamente. Ora voglio avere un nuovo progetto C++ che usi alcune delle funzioni definite nel primo. Non riesco a far compilare e collegare i due insieme.Inclusione di file sorgente da un altro progetto C++ in Eclipse CDT
Io ho #include "..."
nei file rilevanti nel nuovo progetto, ho aggiunto il vecchio progetto ai progetti di riferimento del nuovo progetto e nelle impostazioni di compilazione del nuovo progetto, ho aggiunto la cartella di origine del vecchio progetto come inclusione (opzione -I
gcc).
Ho attaccato uno screenshot del mio Eclipse nel caso in cui è utile:
L'errore proposta dal compilatore è:
obiettivo di costruzione: OtherProject
Invocando: GCC C++ Linker
g ++ -o "OtherProject" ./src/foo.o
./src/foo.o: In funzione `main ':
/home/max/opencvjni/OtherProject/Debug/../src/foo.cpp:13: undefined reference to soglia()'
collect2: ld returned 1 exit stato
make: *** [OtherProject] Errore 1
Ecco il codice in quegli altri file nelle altre schede della schermata:
Threshold.cpp
#include <cv.h>
#include <highgui.h>
#include "Threshold.h"
using namespace cv;
int threshold(void) {
Mat img = imread("/home/max/opencvjni/monalisa.jpg", 0);
threshold(img, img, 127, 255, THRESH_BINARY);
imwrite("/home/max/opencvjni/monathresh.jpg", img);
return 0;
}
int main(void) {
threshold();
return 0;
}
Threshold.h
#ifndef THRESHOLD_H_
#define THRESHOLD_H_
int threshold(void);
#endif /* THRESHOLD_H_ */[/code]
- versione di Eclipse: 3.7.2 versione
- CDT: 8.0.2.201202111925
- OS: Ubuntu 12,04
Grazie per guardare il mio post, se non c'è modo di farlo, o è solo più sensato farlo in un altro modo, per favore non esitare a dirlo.
Saluti
Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti da un autore, lascia un commento sotto il loro post. – rkhb
@rkhb Ho dato un modo alternativo di impostare un progetto C++ che può essere utilizzato in eclissi CDT. Gli utenti inesperti tendono a non essere consapevoli di CMake e cercano di utilizzare i progetti Eclipse non appena iniziano a utilizzare Eclipse. È facile da usare inizialmente ma è più difficile da mantenere nel tempo – gvd
Questo era un commento automatico con testo predefinito da un'attività di revisione. Qualcuno ha segnalato la tua risposta per l'eliminazione e l'ho supportata. La mia opinione: se vuoi rispondere "X" a un "problema XY", fallo in un commento. – rkhb