Y compris les fichiers source à partir d'un autre C++ projet dans Eclipse CDT

J'ai un projet C++ sous Eclipse CDT qui utilise certaines fonctions de OpevCV et il compile en un executable et fonctionne très bien. Maintenant, je veux avoir un nouveau projet C++ qui utilise certaines des fonctions définies dans la première. Je ne peux pas avoir les deux pour compiler et lier ensemble.

J'ai #include "..." dans les dossiers pertinents dans le nouveau projet, j'ai ajouté l'ancien projet pour les projets référencés de la nouveau projet et dans les paramètres de construction du nouveau projet, j'ai ajouté le dossier source de l'ancien projet comme un include (-I gcc avec l'option).

J'ai joint une capture d'écran de mon Eclipse dans le cas où c'est utile:

Y compris les fichiers source à partir d'un autre C++ projet dans Eclipse CDT

L'erreur donnée par le compilateur est:

De construction cible: OtherProject
Invocation: GCC C++ Linker
g++ -o "OtherProject" ./src/foo.o
./src/foo.o: In function `main':
/home/max/opencvjni/OtherProject/Debug/../src/foo.rpc:13: undefined reference to seuil()'
collect2: ld a retourné 1 code de sortie
make: *** [OtherProject] Erreur 1

Voici le code à ceux d'autres fichiers dans les autres onglets de la capture d'écran:

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

Seuil.h

#ifndef THRESHOLD_H_
#define THRESHOLD_H_

int threshold(void);

#endif /* THRESHOLD_H_ */[/code]
  • Eclipse version: 3.7.2
  • CDT version: 8.0.2.201202111925
  • OS: Ubuntu 12.04

Merci de regarder mon post, si il n'y a aucun moyen de le faire, ou c'est juste plus judicieux de le faire d'une autre manière, n'hésitez pas à le dire.

Ce qui concerne

OriginalL'auteur Max Spencer | 2012-11-05