将Qt moc文件添加到项目中
有没有办法强制重新编译其他项目将Qt moc文件添加到项目中,qt,visual-studio-2008,moc,Qt,Visual Studio 2008,Moc,有没有办法强制重新编译其他项目moc文件?我使用visual studio,得到了一个qt项目,在那里我添加了另一个带有接口和信号/插槽的项目类(比如thing.cpp,thing.h ui\u thing.h(已包含生成的文件文件夹) moc\u thing.cpp在生成的文件\debug中(因为主要项目处于调试模式) 并将thing.ui转换为表单文件) 它工作正常,直到我决定做一些改变,添加一些插槽/信号的东西。 正如您所猜测的,包含的moc文件不会重新编译。我决定更改thing.h的一些
moc
文件?我使用visual studio,得到了一个qt项目,在那里我添加了另一个带有接口和信号/插槽的项目类(比如thing.cpp
,thing.h
ui\u thing.h
(已包含生成的文件
文件夹)
moc\u thing.cpp
在生成的文件\debug
中(因为主要项目处于调试模式)
并将thing.ui
转换为表单文件
)
它工作正常,直到我决定做一些改变,添加一些插槽/信号的东西。
正如您所猜测的,包含的moc
文件不会重新编译。我决定更改thing.h
的一些属性
我从主项目文件中复制了参数,因此
在命令行部分有
“$(QTDIR)\bin\moc.exe”“$(InputPath)”-o.\GeneratedFiles\$(ConfigurationName)\moc$(InputName.cpp”-DUNICODE-DWIN32-DQT大文件支持-DQT线程支持-DQT核心库-DQTGUI库-DQWT3DDLL-DQTDLL-DQT脚本库-DQT多媒体库-I“-I.\ProductionHistory”“-I.\GeneratedFiles”“-I$(QTDIR)\include”“-I.\GeneratedFiles\$(ConfigurationName)\”-I$(QTDIR)\include\qtmain”“-I$(QTDIR)\include\QtSql”“-I$(QTDIR)\include\QtGui”“-I$(Boost)\。-I.\well组小部件”“-I.\rules小部件”“-I.\gui”“-I$(QTDIR)\include\QtSvg”“-I$(QTDIR)\include\QtScript”“-I$(QTDIR)\include\ActiveQt”“-I$(QTDIR)\include\qtmedia“
在输出数据部分“\databaseOpening\GeneratedFiles\$(配置名称)\moc\$(InputName).cpp”
在附加依赖项部分中有
“$(QTDIR)\bin\moc.exe”;
$(输入路径)
但它仍然没有重新编译。有办法解决这个问题吗?尝试检查/修复项目文件*.vcxproj
....
...
Qt4VSv1.0>Qt5…)
如果在其他依赖项中执行以下操作:“$(QTDIR)\bin\moc.exe”;$(InputPath)
?请注意,值之间有一个半列,而不是一个空格。@vahancho嗯,这似乎没有帮助,但我编辑了问题您可以使用Qt Visual studioaddin@DmitrySazonov你这是什么意思?还有,我遇到了一些问题-我甚至不能在主项目中添加新的Qtclass,因为不可能将QtGuiClass添加到当前项目中,因为它不是使用Qt5VSAddin创建的。
您应该将项目创建为Qt project-然后此功能(包括您的原始问题)将被启用。你好:)自从我上次用C++/Qt编写代码已经4年了,但是感谢你的回答,很遗憾我没有机会检查它,这是我第一份工作的项目