Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Qt moc文件添加到项目中_Qt_Visual Studio 2008_Moc - Fatal编程技术网

将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核心库-DQTGUI库-DQWT3DDLL-DQTDLL-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

  • 在PropertyGroup Label=“Globals”部分添加关键字
  • 
    ....
    ...
    Qt4VSv1.0>Qt5…
    
    
    如果在其他依赖项中执行以下操作:
    “$(QTDIR)\bin\moc.exe”;$(InputPath)
    ?请注意,值之间有一个半列,而不是一个空格。@vahancho嗯,这似乎没有帮助,但我编辑了问题您可以使用Qt Visual studioaddin@DmitrySazonov你这是什么意思?还有,我遇到了一些问题-我甚至不能在主项目中添加新的Qtclass,因为
    不可能将QtGuiClass添加到当前项目中,因为它不是使用Qt5VSAddin创建的。
    您应该将项目创建为Qt project-然后此功能(包括您的原始问题)将被启用。你好:)自从我上次用C++/Qt编写代码已经4年了,但是感谢你的回答,很遗憾我没有机会检查它,这是我第一份工作的项目