【发布时间】:2013-09-03 23:26:32
【问题描述】:
我一直在尝试在我的 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 \
感谢所有帮助。
编辑:这是生成文件: 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 $<
【问题讨论】:
-
我看不出任何人如何在没有看到您的代码的情况下解决您的问题
-
您确实需要在第 87 行周围发布至少几行 [可能之前 5-10 行,之后 5-10 行]。
-
将来,如果您只是在网站上发布您的代码的相关行,而不是让人们下载文件、提取和打开文件,那么您可能会得到更好的答案。如果您不打算在此网站上发布它,您也可以使用 Pastie 之类的网站将其放到网上某个地方。
-
您需要在第 87 行的两侧显示几行。可能是您在前一行缺少反斜杠。
-
查看代码,您应该尝试转义第 86、88、90、92 行的空行,或者完全删除它们。
标签: c++ macos compiler-errors makefile