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

问题描述 投票:0回答:2

我正在尝试生成一个供我的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_USER,并且INCLUDE是关联的头文件。 Pi当前不支持2.4,因此需要LDFLAGS_FACE来检测opencv2.3中的人脸。

我敢肯定这个错误是微不足道的,但是如果有人可以提供解决方案,那么关于makefile的清晰文档就很少了,我将不胜感激。

c++ makefile raspberry-pi
2个回答
2
投票

类似:

FLAGS ='pkg-config --cflags opencv --libs opencv'CC = g ++主页= / home / piLDFLAGS_CAMCV = -L $(HOME)/ git / robidouille / raspicam_cv -lraspicamcvLDFLAGS_USER = -L $(HOME)/ git / raspberrypi / userland / build / lib -lmmal_core -lmmal-$LDFLAGS_FACE = -l $(HOME)/git/emobot/libfacere0.04LDFLAGS = $(LDFLAGS_CAMCV)$(LDFLAGS_USER)$(LDFLAGS_FACE)包含= -I $(HOME)/ git / robidouille / raspicam_cv全部:emobot_testemobot_test:tab $(CC)-o emobot_test.exe main.cpp $(包含)$(LDFLAGS)

是文字按键,请问如何将其插入答案字段。

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

[all是默认目标,仅在不带参数的情况下运行make即可执行。

[all取决于emobot_test目标emobot_test不依赖任何目标,但始终运行$(CC) -o emobot_test...以完成操作


0
投票

我有同样的问题...

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

我觉得很容易...

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

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

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

.DEFAULT_GOAL := fullcheck
fullcheck:
    $(MAKE) check
    $(MAKE) test
    $(MAKE) build
© www.soinside.com 2019 - 2024. All rights reserved.