【发布时间】:2017-08-07 11:04:40
【问题描述】:
这是我的 Makefile,我收到错误“***缺少分隔符。停止” 我正在尝试编译一个库,但由于某种原因我收到此错误消息。其他类似的 SO 问题表明这是一个选项卡问题,但我无法解决。
CC=g++
RANLIB=ranlib
LIBSRC=osm.c
LIBOBJ=$(LIBSRC:.c=.o)
INCS=-I.
CFLAGS = -Wall -g $(INCS)
LOADLIBES = -L./
OSMLIB = libosm.a
TARGETS = $(OSMLIB)
TAR=tar
TARFLAGS=-cvf
TARNAME=ex1.tar
TARSRCS=$(LIBSRC) Makefile README
all: $(TARGETS)
$(TARGETS): $(LIBOBJ)
$(AR) $(ARFLAGS) $@ $^ //this line fails with the warning
$(RANLIB) $@
clean:
$(RM) $(TARGETS) $(OSMLIB) $(OBJ) $(LIBOBJ) *~ *core
depend:
makedepend -- $(CFLAGS) -- $(SRC) $(LIBSRC)
tar:
$(TAR) $(TARFLAGS) $(TARNAME) $(TARSRCS)
【问题讨论】:
-
选项卡在命令行开头是强制性的
-
这里哪些行需要制表符?