8

我正在 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
4

3 回答 3

14

显然这个答案已经晚了,但我正在为后代回答......今天这让我感到震惊。

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

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

于 2012-12-01T04:08:59.160 回答
10

“缺少分隔符”几乎总是意味着您有一行应该以制表符开头,而不是以空格开头。

于 2012-05-04T12:21:59.507 回答
0

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

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

于 2012-05-05T06:40:45.967 回答