缺少 mocinclude.tmp

Posted

技术标签:

【中文标题】缺少 mocinclude.tmp【英文标题】:Missing mocinclude.tmp 【发布时间】:2015-06-21 12:19:09 【问题描述】:

我正在将 Qt4.8.5、mingw 3.5 应用程序移植到 mingw 4.8.2,它已经在 Linux gcc 4.8.2 上正常运行。我得到的是:

mingw32-make[]: ***没有规则来制作目标'moc-release/mocinclude.tmp' 'moc-release/moc_main.cpp' 需要

在 MakeFile 我看到:

check: first

./moc-rel//mocinclude.tmp:
        @echo -IC:\Qt\4.8.6\include/QtCore> ./moc-rel//mocinclude.tmp
         @echo -IC:\Qt\4.8.6\include/QtNetwork>> ./moc-rel//mocinclude.tmp
         @echo -IC:\Qt\4.8.6\include/QtGui>> ./moc-rel//mocinclude.tmp
         @echo -IC:\Qt\4.8.6\include/QtXml>> ./moc-rel//mocinclude.tmp
         @echo -IC:\Qt\4.8.6\include>> ./moc-rel//mocinclude.tmp
         ...

当我手动创建该文件为空时,应用程序编译正常。我知道我的包含路径很长,但无论如何应该没问题,对吧?我是否遗漏了什么,或者我应该将此文件添加到 git 以使其到位?

谢谢

【问题讨论】:

【参考方案1】:

在你的makefile中,你有这个规则:

./moc-rel//mocinclude.tmp:
        @echo -IC:\Qt\4.8.6\include/QtCore> ./moc-rel//mocinclude.tmp
        ...

注意它将构建文件./moc-rel/mocinclude.tmp,它./moc-release/mocinclude.tmp 相同。您似乎在makefile的其他地方依赖后者,但只有构建前者的规则。您需要解决此差异。

【讨论】:

我明白你的意思,这是可能的解决方法。但是我的 Makefile 是由 Qt 的 qmake 创建的。它看起来像一个编译器和 qt 版本的错误。 @LiborTomsik:好吧,如果 qmake 正在创建无效的 makefile,这是您需要向其维护者提出的问题; SO 几乎不是一个合适的论坛。【参考方案2】:

您可以在MOC_DIR 之前添加# 以将其注释掉。 然后编译就完成了。

【讨论】:

以上是关于缺少 mocinclude.tmp的主要内容,如果未能解决你的问题,请参考以下文章

调用支付jsapi 缺少参数appid

缺少 RapidAPI 应用程序密钥(不缺少)

调用jsapi缺少参数$key0$

SQL 错误:ORA-00907:缺少右括号 00907。00000 -“缺少右括号”

Kotlin 的列表缺少“添加”、“删除”、地图缺少“放置”等?

PLSQL Developer登陆的时候缺少一个选择连接为的选择框