报错是类似这样的
Error 4 fatal error C1083: Cannot open source file: '..\src\GeneratedFiles\Win32\Debug\moc_Qt_About.cpp': No such file or directory c1xx Error 5 fatal error C1083: Cannot open source file: '..\src\GeneratedFiles\Win32\Debug\moc_Qt_MainForm.cpp': No such file or directory c1xx Error 6 fatal error C1083: Cannot open source file: '..\src\GeneratedFiles\Win32\Debug\moc_Qt_ProfileName.cpp': No such file or directory c1xx Error 7 fatal error C1083: Cannot open source file: '..\src\GeneratedFiles\qrc_qtresources.cpp': No such file or directory c1xx
起因是重置了Windows,重装了QT(之前在F盘,现在装到C盘)。
对比之前,发现配置中的QT_DLL不见了。
但问题是加上“QT_DLL”也无济于事。编译依然出错。而且看不到.vcxproj中出现 “-DQT_DLL”
最后用svn部分回滚了.vcxproj中的内容,才去除了编译错误。
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_CONCURRENT_LIB "-I.\..\..\meter\NFDSharedQt\GeneratedFiles" "-I.\..\..\meter\NFDSharedQt" "-I.\..\..\meter\NFDshared" "-I.\..\..\gui" "-I.\..\..\base" "-I.\..\..\lpc" "-I.\..\..\inc" "-I.\..\include" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtConcurrent" "-I.\.." "-I$(NOINHERIT)\."</Command>
原因依然不明,可能是Visual Studio 与 QT 结合的不够好?