生成文件中的错误:*** 缺少分隔符.停止 [英] Errors in make file : *** missing separator. Stop

查看:14
本文介绍了生成文件中的错误:*** 缺少分隔符.停止的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆