一般是没有生成对应的moc文件,可以首先查看本地是否存在此文件,在项目GeneratedFiles\Debug中查看,要是无此文件
没有 moc_xxxx 文件 ---->>>>>>>> 选中新添类的.h文件,【右键】→ 【属性】→【常规】找到【项类型】,选择“Qt Meta-Object Compiler (moc)”,然后右键编译该.h,即可生产对应的moc_xxx.cpp文件。再调试,跑通。
我的情况是复制了一个类直接加到工程中容易出现此问题,然后我按上述方法便可
要是还是不行,就用命令生成:
在cmd命令窗口中输入:
moc D:\project\xxxxx.h -o D:\project\moc_xxxxx.cpp
xxxxx为你需要生成的类的物理地址,然后拷到GeneratedFiles中去,如果你的路径比较利复杂,可能还需要在vs工程中(project.vcxproj.filters,project.vcxproj)也要添加上路径moc_xxxxx.cpp
<ClCompile Include="GeneratedFiles\Debug\moc_xxxxxx.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
你可以直接搜相关文件,按他们的方式写补进去就行