g++ ld: symbole(s) ne se trouvent pas pour l'architecture x86_64

Je suis en train de compiler le Sam Hare,Frappé code.

Je suis sur mac OSX10.9, opencv 2.4.6 et modes Propres 2.0.17.

Propres et opencv les en-têtes sont stockés dans /opt/local/include, tandis que opencv dylib dans /opt/local/lib.

J'ai modifié le Lièvre Makefile pour travailler sur ce dossier. Quand je tape rendre sur le terminal:

g++ -L/opt/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc src/Config.o src/Features.o src/HaarFeature.o src/HaarFeatures.o src/HistogramFeatures.o src/ImageRep.o src/LaRank.o src/MultiFeatures.o src/RawFeatures.o src/Sampler.o src/Tracker.o src/main.o src/GraphUtils/GraphUtils.o -o struck

J'obtiens ces erreurs:

Undefined symbols for architecture x86_64:  
"cv::namedWindow(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
int)", referenced from:
      _main in main.o   "cv::split(cv::Mat const&, std::__1::vector<cv::Mat, std::__1::allocator<cv::Mat> >&)",
referenced from:
      ImageRep::ImageRep(cv::Mat const&, bool, bool, bool) in ImageRep.o   "cv::imread(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
int)", referenced from:
      _main in main.o   "cv::imshow(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&,
cv::_InputArray const&)", referenced from:
      LaRank::Debug() in LaRank.o
      Tracker::Debug() in Tracker.o
      _main in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see
invocation)

Des idées? Merci!

  • Vous avez un conflit entre 32 bits et 64 bits des bibliothèques.
  • Ok, en fait je n'ai aucune idée de comment le résoudre. Tout soupçon?
  • Vous devez vérifier toutes les bibliothèques de vous lier ensemble, qu'ils sont en 32 ou 64 bits. Je ne sais pas comment le faire si vous n'êtes pas sûr de l'endroit où vous les obtenez.
InformationsquelleAutor mbPro | 2013-11-06