c++ - 生成文件错误

我一直在尝试在我的Mac上编译此makefile,它显示了一个特定的错误。

首先,这是makefile所在的文件夹:
http://www.zezula.net/download/stormlib.zip
那是直接下载链接。它包含一个我正在尝试运行的文件“Makefile.mac”。

因此,我通过XCode安装了命令行工具,然后使用:

cd ~/Downloads/StormLib/
make -f Makefile.mac

它显示了一个错误:
Makefile.mac:87: *** missing separator (did you mean TAB instead of 8 spaces?).  Stop.

是的,我一直在寻找解决方案。它说要预先添加一个标签。所以我尝试了,这就是它所显示的:
Makefile.mac:87: *** commands commence before first target.  Stop.

我查找了该错误,其中一种解决方案是使用空格而不是制表符。所以现在我很困惑。我该怎么做才能解决?这是第87行的样子:
src/libtomcrypt/src/pk/asn1/der_length_utctime.obj \

感谢您提供的所有帮助。

编辑:这是makefile:
http://pastebin.com/KSba5fUv

带有一些行并标记了第87行的makefile版本是:
[9 lines deleted]

CPP    = g++
CC     = gcc
CFLAGS = -Wall
LFLAGS = -lbz2 -lz -framework Carbon
ARCH = -arch x86_64
DFLAGS = -D__SYS_BZLIB -D__SYS_ZLIB -D_7ZIP_ST
AR     = ar
ARFLAGS= rcs

LIBRARY  = libStorm.dylib

OBJS_CPP = src/adpcm/adpcm.obj \
           src/huffman/huff.obj \
[15 lines deleted]
           src/SFileReadFile.obj \
           src/SFileVerify.obj


OBJS_C   = src/jenkins/lookup3.o \
           src/libtomcrypt/src/hashes/hash_memory.obj \
[39 lines deleted]
           src/libtomcrypt/src/pk/asn1/der_length_sequence.obj \
           src/libtomcrypt/src/pk/asn1/der_length_short_integer.obj \
       \
       src/libtomcrypt/src/pk/asn1/der_length_utctime.obj \         # This is line 87
       \  
           src/libtomcrypt/src/pk/asn1/der_length_utf8_string.obj \
       \  
           src/libtomcrypt/src/pk/asn1/der_sequence_free.obj \
       \  
           src/libtomcrypt/src/pk/ecc/ltc_ecc_map.obj \
           src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.obj \
[135 lines deleted]
           src/pklib/explode.obj \
           src/pklib/implode.obj

all: $(LIBRARY)

[8 lines deleted]

$(LIBRARY): $(OBJS_C) $(OBJS_CPP)
    $(CPP) $(CFLAGS) $(DFLAGS) $(ARCH) $(LFLAGS) -shared -o $(LIBRARY) $(OBJS_C) $(OBJS_CPP)
#   $(AR) $(ARFLAGS) $(LIBRARY) $(OBJS_C) $(OBJS_CPP)

$(OBJS_C): %.obj: %.c
    $(CC) -o $@ $(CFLAGS) $(DFLAGS) -c $<

$(OBJS_CPP): %.obj: %.cpp
    $(CC) -o $@ $(CFLAGS) $(DFLAGS) -c $<

最佳答案

您可能需要转义空白行,或将其完全删除:

   src/libtomcrypt/src/pk/asn1/der_length_sequence.obj \
   src/libtomcrypt/src/pk/asn1/der_length_short_integer.obj \

   src/libtomcrypt/src/pk/asn1/der_length_utctime.obj \

   src/libtomcrypt/src/pk/asn1/der_length_utf8_string.obj \

   src/libtomcrypt/src/pk/asn1/der_sequence_free.obj \

   src/libtomcrypt/src/pk/ecc/ltc_ecc_map.obj \
   src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.obj \

变成
   src/libtomcrypt/src/pk/asn1/der_length_sequence.obj \
   src/libtomcrypt/src/pk/asn1/der_length_short_integer.obj \
   src/libtomcrypt/src/pk/asn1/der_length_utctime.obj \
   src/libtomcrypt/src/pk/asn1/der_length_utf8_string.obj \
   src/libtomcrypt/src/pk/asn1/der_sequence_free.obj \
   src/libtomcrypt/src/pk/ecc/ltc_ecc_map.obj \
   src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.obj \

或(这可能不起作用,尚未测试,但应该可以)
   src/libtomcrypt/src/pk/asn1/der_length_sequence.obj \
   src/libtomcrypt/src/pk/asn1/der_length_short_integer.obj \
   \
   src/libtomcrypt/src/pk/asn1/der_length_utctime.obj \
   \
   src/libtomcrypt/src/pk/asn1/der_length_utf8_string.obj \
   \
   src/libtomcrypt/src/pk/asn1/der_sequence_free.obj \
   \
   src/libtomcrypt/src/pk/ecc/ltc_ecc_map.obj \
   src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.obj \

https://stackoverflow.com/questions/18603040/

相关文章:

actionscript-3 - Flash AS3和Base64库=编译错误

c++ - 将Qt C++与lp_solve集成-编译器错误

compiler-errors - 系统找不到指定的文件-在SciTE中编译

java - 打印一行字符时表达式开始非法

compiler-errors - php我的管理员无法启动并显示警报消息

woocommerce - 如何禁用woocommerce中产品详细信息页面中的数量字段?

java - java框架中使用的具有编译时间的泛型与具有类类型的运行时

ckeditor - 如何从 CKeditor 4 中删除按钮

android - 使用android和SHOWasAction属性使菜单栏出现错误

java - 超出范围异常错误