g ++ ld: Symbol (e) nicht für Architektur x86_64 gefunden
Ich versuche zu kompilieren, die Sam Hase Struck code.
Ich bin mit mac OSX10.9, opencv 2.4.6 und Eigen 2.0.17.
Eigen und opencv Header gespeichert in /opt/local/include während opencv dylib im Ordner /opt/local/lib.
Modifizierte ich die Hasen auf das Makefile, um die Arbeit an diesem Ordner. Wenn ich auf dem 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
Bekomme ich diese Fehler:
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)
Irgendwelche Ideen? Danke!
InformationsquelleAutor der Frage mbPro | 2013-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich eine ähnliche Warnung/Fehler/Fehler, wenn ich einfach Versuch, eine ausführbare Datei von zwei verschiedenen Objekt-Dateien (main.o und hinzufügen.o). Ich war mit dem Befehl:
gcc -o exec main.o add.o
Aber mein Programm ist ein C++ - Programm. Mit der
g++
compiler mein Problem gelöst:g++ -o exec main.o add.o
Ich hatte immer den Eindruck, dass
gcc
könnte, diese Dinge auf eigene. Anscheinend nicht. Ich hoffe, dies hilft jemand anderes auf der Suche nach diesem Fehler.InformationsquelleAutor der Antwort Nate
endlich mein problem gelöst.
Erstellte ich ein neues Projekt in XCode mit den Quellen und verändert die C++ Standard-Bibliothek die Standard-libc++ , libstdc++ als in diese und diese.
InformationsquelleAutor der Antwort mbPro