我正在将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中以将其放置到位?
谢谢
在您的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中的其他位置,您似乎对后者有依赖关系,但只有建立前者的规则。您需要解决此差异。