2014-11-06 36 views
0

我在RaspberryPi中安裝了opencv並配置了Makefile,但無法找到頭文件。 如何正確配置Makefile。如何配置Makefile以使用OpenCV

我有2 .cpp文件和1 .h文件。

BlobLabeling.cpp BlobLabeling.h hand_tracking.cpp 

時使其返回像下面:

[email protected] ~/test $ make 
g++ BlobLabeling.cpp 
In file included from BlobLabeling.cpp:2:0: 
BlobLabeling.h:9:31: fatal error: highgui/highgui.hpp: No such file or directory 
compilation terminated. 
Makefile:11: recipe for target 'BlobLabeling.o' failed 
make: *** [BlobLabeling.o] Error 1 

在BlobLabeling.cpp

在hand_tracking.cpp

#include <stdio.h> 
#include "cv.h" 
#include "highgui.h" 
#include "BlobLabeling.h" 

在BlobLabeling.h

#include "highgui/highgui.hpp" 
#include "opencv.hpp" 

Makefile 

CXX = g++ 

LDFLAGS = -lopencv_legacy -lopencv_highgui -lopencv_core -lopencv_ml -lopencv_video -lopencv_imgproc -lopencv_calib3d -lopencv_objdetect -L/usr/lib 

CPPFLAGS = -g -I/usr/include/opencv -I/usr/include/opencv2 

all: BlobLabeling.o hand_tracking.o 
     g++ -o test BlobLabeling.o hand_tracking.o 

BlobLabeling.o: BlobLabeling.cpp 
     g++ BlobLabeling.cpp 

hand_tracking.o: hand_tracking.cpp BlobLabeling.h 
     g++ hand_tracking.cpp 

在/ usr /包括/ opencv2

[email protected] ~/test $ ls /usr/include/opencv2 
calib3d features2d imgproc objdetect stitching videostab 
contrib flann  legacy opencv.hpp ts 
core  highgui  ml  photo  video 
+0

可以嘗試使用適當的 「opencv2/highgui/highgui.hpp」 和「opencv2 /core/core.hpp「而不是過時的」cv.h「和」highgui.h「? – berak 2014-11-06 11:24:48

+1

@berak謝謝你!我在BlobLabeling.h中更改了「opencv2/highui/highgui.hpp」,「opencv2」/opencv.hpp,它起作用! – kkd927 2014-11-06 11:30:56

+0

@berak請添加它作爲答案。 – karlphillip 2014-11-07 01:00:42

回答

1

請使用適當的C++頭:

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

ALON g當包含路徑:

-I/usr/include/opencv2 

,而不是過時的 「cv.h」 和 「highgui.h」