【问题标题】:Missing Separator Error in MakefileMakefile 中缺少分隔符错误
【发布时间】:2012-05-13 23:33:58
【问题描述】:

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

【问题讨论】:

  • 您是否将 nmake/msvc makefile 与 mingw 混合使用?
  • 向我们展示 Makefile.Debug 的第 61 行(以及它附近的行)有多难?
  • 在第 61 行,只有“

标签: qt makefile mingw32


【解决方案1】:

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

【讨论】:

  • 如何在其中放置标签?每次我在那里放一个标签然后回来编辑器(或其他东西)都会把它改回空格
  • 哪个编辑器?许多编辑器都有方便的“有用”功能,可以将您输入的内容替换为他们认为您想要的内容。
  • qt编辑器,在qt编辑器中怎么做?
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    Frank Osterfeld 几乎可以肯定是对的。不确定您是如何生成 makefile 的,但它们可能是 nmake makefile,而不是 mingw makefile。您可以通过查看 Makefile.Debug 的顶部来判断。如果您看到“CXX = cl”,而不是“CXX = g++”,那就是您的问题。

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

    【讨论】:

    • 您必须指定“-platform ”,其中 是包含“win32-g++”的任何字符串。这意味着“win64-g++”不起作用,但“win32-g++-4.6”会。请参阅 \Qt\4.8.5\tools\configure\configureapp.cpp 的第 1380 行。
    • @JPaget 我可以在选项屏幕的哪个位置检查/更改它?
    猜你喜欢
    • 2016-10-04
    • 2022-01-05
    • 2012-03-23
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多