2017-04-14 1 views
0

ich ein wirklich kleines Projekt in C++ mit opencv3 von Homebrew durch brew install opencv3 installiert OS X El Cap schreibe, habe ich versucht, was die offiziellen Beispiele tat und enthalten diese Zeile oben auf meiner DateiKann nicht opencv3 auf OS X enthalten

#include <opencv2/opencv.hpp> 

Es gab den Fehler zu sagen

fatal error: 'opencv2/opencv.hpp' file not found 
#include <opencv2/opencv.hpp> 

versuchte mit doppelten Anführungszeichen statt <>, auch nicht funktioniert, versucht, andere Module wie

#include "opencv2/highgui/highgui.hpp" 
#include "opencv2/highgui.hpp" 

Mit oder ohne Modulpfad (highgui /) oder <>, ist es immer Datei nicht gefunden Fehler

Dies ist Teil meiner Makefile:

CC=clang++ 
CFLAGS= -Wall -g -std=c++0x 
LFLAGS= 

CFILES=blahblah.cpp 
HFILES=blahblah.hpp 
OFILES=blahblah.o 

all: main 

%.o: %.cpp $(HFILES)                     
     $(CC) -c $(CFLAGS) $< -o [email protected] $(LFLAGS) 

main: $(OFILES) $(HFILES) 
    $(CC) $(CFLAGS) $(OFILES) -o main $(LFLAGS) 

enthalten ich das Include-Verzeichnis bei der Suche Pfad in der Make-Datei, und habe diesen Fehler:

clang++ -Wall -g -std=c++0x main.o datatools.o extract.o -o main -I/usr/local/Cellar/opencv3/3.2.0/include -I/usr/local/include 
Undefined symbols for architecture x86_64: 
    "cv::String::deallocate()", referenced from: 
     cv::String::~String() in main.o 
     cv::String::operator=(cv::String const&) 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) 
make: *** [main] Error 1 

By the way, opencv2 gut funktioniert, und ich muss nichts tun, um es, wie soll ich opencv3 Bibliothek workin bekommen G?

Antwort

0

Sie müssen Header-Verzeichnis (/usr/local/Cellar/your_opencv_header_dir) in Header search paths in den Build-Einstellungen des Projekts angeben.

Möglicherweise müssen Sie das auch für Bibliotheken tun oder sie in das Projekt einbeziehen.

+0

Vielen Dank, aber ich habe einen neuen Fehler, bitte sehen Sie die Änderungen. – TPWang

+0

'symbol not found' bedeutet, dass Sie keine Bibliotheken verknüpft haben. Der einfachste Weg besteht darin, alle 'opencv'-Bibliotheken in das Projekt zu ziehen und _create references_ im Popup-Fenster auszuwählen. –

+0

Was meinst du mit Pop-up-Fenster? Meinst du symlinks? – TPWang