缺少 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的主要内容,如果未能解决你的问题,请参考以下文章
SQL 错误:ORA-00907:缺少右括号 00907。00000 -“缺少右括号”