有没有办法强制重新编译其他项目moc
文件?我使用visual studio,我有一个qt项目,在那里我添加了其他带接口和信号/插槽的项目类(比方说thing.cpp
,thing.h
,
ui_thing.h
(已包括generated files
文件夹),
moc_thing.cpp
中的generated files\debug
(由于主要项目处于调试模式),
和thing.ui
进入Form files
)
它工作正常,直到我决定做一些更改,添加一些插槽/信号的东西。你可以猜测包括moc
文件不重新编译。我决定改变thing.h
的一些属性。
我从主项目文件中复制了参数,因此在命令行部分中有
"$(QTDIR)\bin\moc.exe" "$(InputPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_CORE_LIB -DQT_GUI_LIB -DQWT3D_DLL -DQT_DLL -DQT_SVG_LIB -DQT_SCRIPT_LIB -DQT_MULTIMEDIA_LIB "-I.\parsers" "-I$(QWTDIR)\include" "-I.\ProductionHistory\GeneratedFiles" "-I.\ProductionHistory" "-I.\GeneratedFiles" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\qtmain" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtSql" "-I$(QTDIR)\include\QtGui" "-I." "-I$(Boost)\." "-I.\well groups widget" "-I.\rules widget" "-I.\gui" "-I$(QTDIR)\include\QtSvg" "-I$(QTDIR)\include\QtScript" "-I$(QTDIR)\include\ActiveQt" "-I$(QTDIR)\include\QtMultimedia"
在输出数据部分".\databaseOpening\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
在附加依赖项部分中有"$(QTDIR)\bin\moc.exe";
$(InputPath)
但它仍然没有重新编译。有办法解决这个问题吗?
尝试检查/修复项目文件* .vcxproj
<PropertyGroup Label="Globals">
<ProjectGuid>....
<RootNamespace>...
<Keyword>Qt4VSv1.0</Keyword> <-----------------
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)"
Qt5Version_x0020_Win32="$(DefaultQtVersion)" <-------
UicDir=".\GeneratedFiles" />
</VisualStudio>
</ProjectExtensions>