LZMA的makefile中出现“ ***缺少分隔符”错误

时间:2019-06-10 19:29:51

标签: makefile lzma

我试图在Ubuntu 18.04上构建LZMA 18.05库,但是当我在make中运行C/Util/LzmaLib时会发生以下情况:

制作 makefile:26:***缺少分隔符。停止。

我真的不明白是什么原因造成的,因为我不是编写代码的人,而是一个众所周知的库。这是第26行:

!include "../../../CPP/Build.mak"

下面是有问题的makefile的代码:

MY_STATIC_LINK=1
SLIB = sLZMA.lib
PROG = LZMA.dll
SLIBPATH = $O\$(SLIB)

DEF_FILE = LzmaLib.def
CFLAGS = $(CFLAGS) \

LIB_OBJS = \
  $O\LzmaLibExports.obj \

C_OBJS = \
  $O\Alloc.obj \
  $O\LzFind.obj \
  $O\LzFindMt.obj \
  $O\LzmaDec.obj \
  $O\LzmaEnc.obj \
  $O\LzmaLib.obj \
  $O\Threads.obj \

OBJS = \
  $(LIB_OBJS) \
  $(C_OBJS) \
  $O\resource.res

!include "../../../CPP/Build.mak"

$(SLIBPATH): $O $(OBJS)
    lib -out:$(SLIBPATH) $(OBJS) $(LIBS)

$(LIB_OBJS): $(*B).c
    $(COMPL_O2)
$(C_OBJS): ../../$(*B).c
    $(COMPL_O2)

有人知道如何解决此问题吗?如果您需要更多,请here's the download link到库中。

1 个答案:

答案 0 :(得分:1)

那不是GNU makefile。我认为这是Windows上的nmake。其他内容(objdeflibdll和资源文件)也指向Windows库构建,因此仅修补include语法不是足够。这看起来好像不是要在Unix上构建的东西。