我在OS X El cap上用C ++编写了一个非常小的项目,从Homebrew通过brew install opencv3
安装了opencv3,我尝试了官方示例所做的并将此行包含在我的文件之上
#include <opencv2/opencv.hpp>
它返回错误说
fatal error: 'opencv2/opencv.hpp' file not found
#include <opencv2/opencv.hpp>
尝试用双引号代替&lt;&gt;,也没有用,尝试了其他模块,如
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/highgui.hpp"
有或没有模块路径(highgui /)或&lt;&gt;,它总是找不到文件错误
这是我的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 $@ $(LFLAGS)
main: $(OFILES) $(HFILES)
$(CC) $(CFLAGS) $(OFILES) -o main $(LFLAGS)
我在makefile的搜索路径中包含了include目录,并收到此错误:
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
顺便说一句,opencv2工作正常,我不需要做任何事情,我应该如何让opencv3库工作?
答案 0 :(得分:0)
您需要在项目的构建设置中将标题目录(/usr/local/Cellar/your_opencv_header_dir
)指定到Header search paths
。
您可能还需要对库执行相同操作或将它们包含在项目中。