生成文件中的错误:*** 缺少分隔符.停止 [英] Errors in make file : *** missing separator. Stop
本文介绍了生成文件中的错误:*** 缺少分隔符.停止的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 CentOS 6.02 64 位的 make 文件中遇到错误.我需要知道应该怎么做才能使生成文件可用.任何建议都会非常有帮助.我的make文件粘贴在下面:-
I am facing errors in make file in CentOS 6.02 64 bit. I need to know what should be done to make the makefile workable. Any suggestion will be greatly helpful. My make file is pasted below: -
#
.SUFFIXES: .cc $(.SUFFIXES)
ALL = libpal.a
#all = $(ALL)
all: $(ALL)
.cpp.o:
$(C++) -o $@ -c $(PROF) $(CFLAGS) $*.cpp
.cc.o:
$(C++) -o $@ -c $(PROF) $(CFLAGS) $*.cc
.c.o:
$(CC) -o $@ -c $(PROF) $(CFLAGS) $*.c
top_srcdir = ..
OPENSSL_LIB_DIR = ../../ThirdPartyLibs/openssl-0.9.8e/include
BOOST_DIR = ../../ThirdPartyLibs/boost/stage/lib
BOOST_INCLUDE_DIR = ../../ThirdPartyLibs/boost
CC = gcc
C++ = g++
CCOPT = -Os -Wall -Wno-deprecated
CCOPT_DEBUG = -Wall -g -Wno-deprecated
PROF =
STATIC = -static
INCLUDE =
-I./usr/include/sys
-I./Headers
-I$(top_srcdir)/PAL/Headers
-I$(top_srcdir)/BaseMulti/Headers
-I$(top_srcdir)/NetworkMulti/Headers
-I$(top_srcdir)/RTP/Headers
-I$(BOOST_INCLUDE_DIR)
-I$(OPENSSL_LIB_DIR)
LIBDIRS =
-L$(BOOST_DIR)
#XXX NLAYER define / MB_DEBUG
DEFINE = -D_LINUX -DDEBUGLOG -D_INDENT_DB_PRINT -fsigned-char -fno-inline -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_POSIX_PER_PROCESS_TIMER_SOURCE -D_PTHREADS -DUNICODE #-DDISABLE_LOG
SHLIB_SUFFIX = .so
SHLIB_LD = gcc -shared
SHLIB_LD_LIBS =
SHLIB_CFLAGS = -fPIC
BFLAGS = $(DEFINE) $(INCLUDE)
CFLAGS = $(CCOPT) $(BFLAGS)
OBJ_C =
OBJ_CC =
./Sources/PALsystime.o
./Sources/PALdebug.o
./Sources/PALdebuglog.o
./Sources/PALthread.o
./Sources/PALcritsec.o
./Sources/PALprofiler.o
./Sources/PALserializable.o
./Sources/PALinet.o
./Sources/PALnetwork.o
./Sources/PALsocket.o
./Sources/PALlocalhostUdpEvent.o
./Sources/PALpollarray.o
./Sources/PALrandom.o
OBJS = $(OBJ_C) $(OBJ_CC)
SRCS = $(OBJ_C:.o=.c) $(OBJ_CC:.o=.cc)
debug: DEFINE += -DDEBUG
debug: BFLAGS = $(DEFINE) $(INCLUDE)
debug: CFLAGS = $(CCOPT_DEBUG) $(BFLAGS)
debug: $(OBJS)
ar crsu libpal_debug.a $(OBJS)
libpal.a: $(OBJS)
ar crsu libpal.a $(OBJS)
cleandeps:
$(RM) ./Sources/*.o .depend* core
clean: cleandeps
$(RM) ./libpal.a ./libpal_debug.a
$(RM) $(ALL)
由此产生的错误是:
Makefile:34: *** missing separator. Stop.
推荐答案
你可以在 由 Make 生成的附录 B 错误.
配方中的每一行都必须以制表符开头.文件顶部附近以 $(C++)
和 $(CC)
开头的配方似乎不是以制表符开头的.
Every line in a recipe must begin with a tab character. The recipes starting with $(C++)
and $(CC)
near the top of your file do not seem to start with a tab character.
另外,该部分
INCLUDE =
-I./usr/include/sys
-I./Headers
在 sys
之后似乎缺少反斜杠,并且同一部分(以及更多部分)有多余的空行.
seems to be missing a backslash after sys
and that same section (and many more) have superfluous empty lines.
这篇关于生成文件中的错误:*** 缺少分隔符.停止的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文