visual studio 2008 moc找不到mainwindow.h

时间:2015-11-03 22:13:27

标签: c++ visual-studio qt

我为使用Qt的Visual Studio 2008上的一堆C ++项目设置了构建环境。我没有必要重新编译代码一段时间,但我的系统上必须更改某些内容,因为它不再起作用。

据我所知,所有环境变量仍然正确,并且我没有更新Visual Studio或Qt。

我得到的错误是:

1>MOC mainwindow.h
1>The system cannot find the path specified.
1>moc: mainwindow.h: No such file
1>Project : error PRJ0019: A tool returned an error code from "MOC mainwindow.h"

根据我的构建日志的违规行是:

C:\QtSDK\Desktop\Qt\4.8.1\msvc2008\bin\moc.exe  -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.1\msvc2008\include" -I"..\..\LSL\liblsl\bin" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\ActiveQt" -I"debug" -I"." -I..\..\..\..\QtSDK\Desktop\Qt\4.8.1\msvc2008\mkspecs\default -D_MSC_VER=1500 -DWIN32 mainwindow.h -o debug\moc_mainwindow.cpp

(抱歉这么久)。它显示moc.exe被调用,但它找不到mainwindow.h(它位于项目的目录中,绝对是一个包含的目录)。

我重新跑了qmake qmake -project(感谢J-Mik!),但现在它正悬在uic上

1>UIC mainwindow.ui
1>The system cannot find the path specified.
1>File 'mainwindow.ui' is not valid
1>Project : error PRJ0019: A tool returned an error code from "UIC mainwindow.ui"

该文件当然有效(它在Qt创建者中打开)。同样奇怪的是,构建日志仍然会出现关于moc的错误:

C:\QtSDK\Desktop\Qt\4.8.1\msvc2008\bin\moc.exe  -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\QtGui" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.1\msvc2008\include" -I"..\..\LSL\liblsl\bin" -I"..\..\..\..\QtSDK\Desktop\Qt\4.8.1\msvc2008\include\ActiveQt" -I"debug" -I"." -I..\..\..\..\QtSDK\Desktop\Qt\4.8.1\msvc2008\mkspecs\default -D_MSC_VER=1500 -DWIN32 mainwindow.h -o debug\moc_mainwindow.cpp



if errorlevel 1 goto VCReportError

goto VCEnd

:VCReportError

echo Project : error PRJ0019: A tool returned an error code from "MOC mainwindow.h"

exit 1

:VCEnd 

2 个答案:

答案 0 :(得分:0)

运行moc时,当前目录的文件相对路径不正确。您可以通过将echo %cd%添加到运行moc的自定义生成步骤来识别实际目录。

答案 1 :(得分:0)

删除并重新导入mainwindow.h就可以了。现在,编译器无法找到mainwindow.ui文件(需要它)。