【发布时间】:2014-01-20 15:46:28
【问题描述】:
我正在尝试生成一个用于我的 Raspberry Pi 的 makefile,其目的是使用 Pi 的摄像头板通过 opencv 检测人脸。但是我一直面临以下错误:
Makefile:12: *** commands commence before first target. Stop.
我使用以下makefile:
FLAGS = 'pkg-config --cflags opencv --libs opencv'
CC = g++
HOME = /home/pi
LDFLAGS_CAMCV = -L$(HOME)/git/robidouille/raspicam_cv -lraspicamcv
LDFLAGS_USER =-L$(HOME)/git/raspberrypi/userland/build/lib -lmmal_core -lmmal -$
LDFLAGS_FACE = -l$(HOME)/git/emobot/libfacere0.04
LDFLAGS = $(LDFLAGS_CAMCV) $(LDFLAGS_USER) $(LDFLAGS_FACE)
INCLUDE = -I$(HOME)/git/robidouille/raspicam_cv
$(CC) -o emobot_test.exe: main.cpp $(INCLUDE) $(LDFLAGS)
LDFLAGS_CAMCV 和 LDFLAGS_USER 是 raspicamcv 库所必需的,INCLUDE 是关联的头文件。在 opencv2.3 中检测人脸需要LDFLAGS_FACE,因为 Pi 目前不支持 2.4。
我确信这个错误非常微不足道,但是如果有人能提供解决方案,我将不胜感激有关 makefile 的清晰文档。
【问题讨论】:
-
行号不是12吗? 12号线是哪条线? (就此而言,您在此处发布的最后一行有命令,这些命令位于任何目标之前。您希望这些命令与哪个目标一起使用?)
-
你应该使用目标模式。
-
GNU make 手册文档非常清楚,当然是基础知识:gnu.org/software/make/manual/html_node/index.html
标签: c++ makefile raspberry-pi