{Makefile Error}“命令在第一个目标之前开始。停止。”

时间:2014-01-20 15:46:28

标签: c++ makefile raspberry-pi

我正在尝试生成一个用于我的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)
raspicamcv库需要

LDFLAGS_CAMCVLDFLAGS_USERINCLUDE是关联的头文件。检测opencv2.3中的面部需要LDFLAGS_FACE,因为Pi目前不支持2.4。

我确定这个错误是非常微不足道的,但是关于makefile的明确文档很少,如果有人能提供解决方案,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

Smth喜欢:

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

all: emobot_test

emobot_test:
tab$(CC) -o emobot_test.exe  main.cpp $(INCLUDE) $(LDFLAGS)

<击>&LT;标签&gt;是一个文字按键,不知道如何将其插入答案字段。

说明:
$(CC) -o emobot_test...是一个应该在目标调用时执行的命令。

all是您在没有参数的情况下运行make时执行的默认目标。

all取决于emobot_test目标 emobot_test不依赖于任何目标,但总是运行$(CC) -o emobot_test...以完成

答案 1 :(得分:0)

我遇到了同样的问题...

我已经有了检查,测试和构建的规则...但是想要将它们串在一起...

我以为...

.DEFAULT_GOAL := fullcheck
    $(MAKE) check
    $(MAKE) test
    $(MAKE) build

但是没有命令在第一个目标之前开始。停止。

我省略的是规则的名称。应该是这样

.DEFAULT_GOAL := fullcheck
fullcheck:
    $(MAKE) check
    $(MAKE) test
    $(MAKE) build