【问题标题】:qmake syntax error near unexpected token newline意外的令牌换行符附近的 qmake 语法错误
【发布时间】:2015-12-29 14:49:13
【问题描述】:

我正在关注 Blanchette 和 Summerfield 使用 qt 4(第 2 版)进行 C++ GUI 编程的第 40 页(快速对话框设计)中的 qmake 示例。

我从http://www.mingw.org/wiki/MSYS安装了make工具

我在 64 位 Windows 10 上运行 qt 5.5.1。已安装 VS 2013。

按照说明运行qmake -projectqmake gotocell.pro 后,出现此错误:

   C:\Users\John\Documents\gotocell>make.exe
    make.exe -f Makefile.Release
    make.exe[1]: Entering directory `/c/Users/John/Documents/gotocell'
    cl -c -nologo -Zc:wchar_t -FS -O2 -MD -Zc:strictStrings -GR -W3 -w34100 -w34189 -w44996 -EHsc -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG -I. -I. -I..\..\..\..\Qt\Qt5.5.1\5.5\msvc2013_64\include -I..\..\..\..\Qt\Qt5.5.1\5.5\msvc2013_64\include\QtGui -I..\..\..\..\Qt\Qt5.5.1\5.5\msvc2013_64\include\QtANGLE -I..\..\..\..\Qt\Qt5.5.1\5.5\msvc2013_64\include\QtCore -Irelease -I..\..\..\..\Qt\Qt5.5.1\5.5\msvc2013_64\mkspecs\win32-msvc2013  -Forelease\ @<<
    /bin/sh: -c: line 0: syntax error near unexpected token `newline'
    /bin/sh: -c: line 0: `cl -c -nologo -Zc:wchar_t -FS -O2 -MD -Zc:strictStrings -GR -W3 -w34100 -w34189 -w44996 -EHsc -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG -I. -I. -I..\..\..\..\Qt\Qt5.5.1\5.5\msvc2013_64\include -I..\..\..\..\Qt\Qt5.5.1\5.5\msvc2013_64\include\QtGui -I..\..\..\..\Qt\Qt5.5.1\5.5\msvc2013_64\include\QtANGLE -I..\..\..\..\Qt\Qt5.5.1\5.5\msvc2013_64\include\QtCore -Irelease -I..\..\..\..\Qt\Qt5.5.1\5.5\msvc2013_64\mkspecs\win32-msvc2013  -Forelease\ @<<'
    make.exe[1]: *** [{.}.cpp{release\}.obj] Error 2
    make.exe[1]: Leaving directory `/c/Users/John/Documents/gotocell'

发生了什么,我该如何解决?

【问题讨论】:

    标签: c++ qt makefile qt-creator msys


    【解决方案1】:

    我知道 qmake 会生成一个与 nmake 兼容的 makefile,而不是 gnu make。

    尝试运行 nmake。

    -布拉德

    【讨论】:

    • 如何安装 nmake?
    【解决方案2】:

    我怀疑这个问题与在线的@&lt;&lt; 有关。在 shell 命令行上的 &lt;&lt; 之后,您应该有一个词,定义以下“HERE-document”的输入字符串的结尾。

    【讨论】:

    • @user3918985 抱歉,我从未使用过 VS 的 make 实用程序。我不知道@&lt;&lt; 是否应该由makeqmake 实用程序甚至Windows 的默认shell 解释。让我有点吃惊的是make 使用的是类Unix 的/bin/sh 而不是Windows 的cmd.exe。在这种情况下,我建议您不仅要注意&lt;&lt;,还要注意其他可能对sh 特殊但对cmd.exe 不特殊的字符,例如“>”、“!”、“$” 、“\”、“`”、括号等。
    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2021-12-07
    • 2011-07-05
    • 1970-01-01
    • 2015-07-03
    • 1970-01-01
    • 2021-04-28
    相关资源
    最近更新 更多