VS +QT 手动添加 Q_OBJECT 报错问题解决
在 vs 上,手动添加 Q_OBJECT 后, moc_XXX 文件也生成,但是编译却失败,出现无法打开 moc_xxx 失败
解决方法:
1.remove 头文件,重新加进来即可。(好简单的问题,好记性不如烂笔头,记录下吧。)
2.重新命名头文件,如在头文件名称后增加“_”,等待 moc_xx 文件生成后,在去掉下划线.(modify 20200906)
重命名+重新添加 能解决不少 moc 问题。包括信号槽重新命名时出现的 moc 不存在等。以上方法还无法解决时找到 vcpro,删除对应错误的 moc 引用,重新试试。
更新(2020.12.01):
3. 如果 moc 程序一直没作用,关掉 vs,重新打开工程。
4.终极方法!:打开终端调用 moc.exe 生成对应 moc_xxx.cpp 即可。
命令 : moc.exe myclass.h -o moc_myclass.cpp
可以加上绝对路径。生成之后将 moc_xx.cpp 移到 Generated Files 文件夹或者 moc 文件夹,具体根据 qt vs tools 插件的配置, 然后添加进工程即可。
评论