Makefile中缺少分隔符错误

时间:2012-05-04 12:07:16

标签: qt makefile mingw32

我正在使用Windows上的Qt 4.7.2。我已生成Makefile,Makefile.Debug和Makefile.Release。但是,当我尝试使用mingw32-make构建可执行文件时,我收到以下错误:

mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `C:/Qt/4.7.2/src/plugins/sqldrivers/mysql'
Makefile.Debug:61: *** missing separator.  Stop.
mingw32-make[1]: Leaving directory `C:/Qt/4.7.2/src/plugins/sqldrivers/mysql'
mingw32-make: *** [debug-all] Error 2

3 个答案:

答案 0 :(得分:12)

显然这个答案已经很晚了,但是我为了后代而回答这个问题......今天这个问题让我感到震惊。

弗兰克奥斯特菲尔德几乎肯定是对的。不知道你是如何生成makefile的,但它们可能是nmake makefile,而不是mingw makefile。你可以通过查看Makefile.Debug的顶部来判断。如果你看到“CXX = cl”,而不是“CXX = g ++”,那那就是你的问题。

就我而言,我在尝试编译Qt SDK时遇到了这个错误。长话短说:我需要在configure命令行中指定“-platform win32-g ++”(默认为win32-msvc)。

答案 1 :(得分:8)

“缺少分隔符”几乎总是意味着你的行应该以一个以空格开头的制表符开头。

答案 2 :(得分:0)

如果你真的向我们展示了Makefile.debug文件第61行的内容,我们可以给你一个更好的答案。 “缺少分隔符”是make的“语法错误”版本。它基本上意味着在makefile中看到一条它无法弄清楚的行。

正如William Pursell所提到的,有一个原因可能是你有空间介绍你的食谱线,但还有很多其他原因。也许您忘记了目标和先决条件之间的“:”,或者变量赋值中的“=”。还有其他可能性。