我得到以下错误运行make:
Makefile:168: *** missing separator. Stop.
是什么导致了这种情况?
我得到以下错误运行make:
Makefile:168: *** missing separator. Stop.
是什么导致了这种情况?
当前回答
对我来说,问题是我有一些行将结束的#…注释嵌入在定义…结束多行变量定义。删除注释使问题消失了。
其他回答
因此,显然,我所需要的是“构建必要”包,然后首先运行autoconf,这使得Makefile.pre。In,然后是。/configure,然后是make。
我的错误发生在具有多行扩展名的变量声明行上。我在“\”后面有一个尾随空格,这使得它是一个无效的行续。
MY_VAR = \
val1 \ <-- 0x20 there caused the error.
val2
对我来说,问题是我有一些行将结束的#…注释嵌入在定义…结束多行变量定义。删除注释使问题消失了。
我在qmake生成的Makefiles中丢失了分隔符文件。我把Qt代码移植到一个不同的平台。我没有QMAKESPEC或MAKE集。这是我找到答案的链接:
https://forum.qt.io/topic/3783/missing-separator-error-in-makefile/5
再补充一个出现这种情况的原因:
$(eval VALUE)
无效,将产生“缺少分隔符”错误。
$(eval IDENTIFIER=VALUE)
是可以接受的。当我用define定义宏并尝试执行时,出现了这种错误
define SOME_MACRO
... some expression ...
endef
VAR=$(eval $(call SOME_MACRO,arg))
宏没有计算为赋值。