Qt Creator错误无限循环

时间:2016-03-07 14:18:11

标签: c++ qt

当我尝试创建一个由在不同国家和地区工作的人开发的项目时,我在控制台中不断收到以下错误。他之所以提到这个问题是因为数据/时间与他的电脑不同。我不确定这是否属实,如果是的话,必须有一个解决方案,而不必改变我的计算机时间来匹配他的。我不知道还有哪些内容可以帮助您解决问题,如果只是让我知道并且我会更新。我对C ++ / Qt Creator有点新鲜。为什么会这样呢?它似乎永远不会完成,它只是无休止地将它打印到控制台。

编译输出控制台

Running steps for project Nexus...
Configuration unchanged, skipping qmake step.
Starting: "C:\Qt\Tools\mingw492_32\bin\mingw32-make.exe" 
C:\Qt\5.5\mingw492_32\bin\qmake.exe -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile ..\Nexus\Nexus.pro
C:\Qt\5.5\mingw492_32\bin\qmake.exe -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile ..\Nexus\Nexus.pro
C:\Qt\5.5\mingw492_32\bin\qmake.exe -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile ..\Nexus\Nexus.pro
C:\Qt\5.5\mingw492_32\bin\qmake.exe -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile ..\Nexus\Nexus.pro

常规消息输出控制台

Warnings while parsing QML type information of C:/Qt/5.5/mingw492_32/qml:
<dump of C:\Qt\5.5\mingw492_32\qml>:1:24: Reading only version 1.1 parts.
<dump of C:\Qt\5.5\mingw492_32\qml>:10:5: Expected only Component and ModuleApi object definitions.

专业档案

#-------------------------------------------------
#
# Project created by QtCreator 2016-02-29T21:37:32
#
#-------------------------------------------------

QT       += core gui xml

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

include(core/core.pri)
include(node/node.pri)
include(librarybox/librarybox.pri)
include(blockeditor/blockeditor.pri)
include(propertyeditor/propertyeditor.pri)
include(lib/lib.pri)


TARGET = Nexus
TEMPLATE = app


SOURCES += main.cpp\
    mainwindow.cpp


HEADERS  += mainwindow.h


FORMS    += mainwindow.ui \
    virtualnamepropertyitem.ui

RESOURCES += \
    nexus_resources.qrc

RC_FILE = nexus.rc

3 个答案:

答案 0 :(得分:4)

如果您的ArrayList文件(或任何其他文件)具有未来的时间戳,则会发生这种情况。 .pro生成的Makefile包含一条规则,当qmake文件早于Makefile文件时,该规则会重新生成.pro。由于新的Makefile 比未来的版本更旧,因此这将持续到实际到达正确的时间为止。

有两种方法可以摆脱这种行为:

  1. 等到.pro文件的时间戳过去(不推荐)
  2. 编辑.pro文件。即使像新评论这样的简单编辑也应该足够了。

答案 1 :(得分:4)

最新版本的QtCreator(Qt 5.6.0为3.6.1)存在同样的问题。

&#34; Zeta&#34;提出的答案没有帮助。

禁用&#34;影子构建&#34;在项目选项中为我解决了问题。这是一个很好的解决方法。

最后缩短文件名(某些地方很大)以解决问题:

  • 缩短项目名称(.pro)(文件名和路径,删除一些字符)
  • 缩短资源名称(.qrc)(文件名和路径,删除一些字符)

问题随后消失了(即使使用阴影构建,它可能与阴影构建使用名称很长的输出文件夹相关)。

当文件路径太长时(&gt; ~170,找到a post on a forum reporting that),显然存在一个错误。

另一种方法是更改​​QtCreator用于阴影构建的模式。这可以从QtCreator选项中进行修改,然后您可以缩短名称,这是快速轻松解决问题的另一种方法。

答案 2 :(得分:0)

我编写了一个python脚本,通过递归遍历项目的所有文件,只是重新保存文件。这更新了时间戳并更正了QMake无限循环。它现在可以正确编译。