我正在将一个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中以使其存在?
由于
答案 0 :(得分:0)
在你的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中的其他位置对后者有依赖关系,但只有构建前者的规则。您需要解决这种差异。
答案 1 :(得分:0)
您可以在#
之前添加MOC_DIR
以将其注释掉。
然后将完成编译。