visual studio Qt 开发环境中手动添加 Q_OBJECT 导致编译时出错的问题

问题简述

创建项目的时候,已经添加了类文件,前期认为不需要信号槽,就没有添加宏Q_OBJECT,后面项目需要,又加入了宏Q_OBJECT,但是发现只是添加了一个宏Q_OBJECT,除此之外没有改动其它的代码,原本编译通过的程序编译不过,会提示一些错误。

在网上查了很多方法都不行(如):

1.remove 头文件,重新加进来即可。(好简单的问题,好记性不如烂笔头,记录下吧。)

2.重新命名头文件,如在头文件名称后增加"_",等待 moc_xx 文件生成后,在去掉下划线.(modify 20200906)

重命名+重新添加 能解决不少 moc 问题。包括信号槽重新命名时出现的 moc 不存在等。以上方法还无法解决时找到 vcpro,删除对应错误的 moc 引用,重新试试。

更新(2020.12.01):

3. 如果 moc 程序一直没作用,关掉 vs,重新打开工程。

**4.**终极方法!:打开终端调用 moc.exe 生成对应 moc_xxx.cpp 即可。

正确的解决方案看下面!!!!!!

最终通过新建一个简单窗体,移除带有O_OBJECT的头文件.h和cpp,再添加回来,并和原解决方案做对比,发现项目解决方案里导入文件的方式不一样QtMoc和ClInclude,

将项目.vcxproj文件里导入文件的方式由ClInclude修改为QtMoc后,正常编译。

相关推荐
漂流幻境1 小时前
IntelliJ IDEA的Terminal中执行ping命令时遇到的“No route to host“问题
java·ide·intellij-idea
BUG?不,是彩蛋!2 小时前
IntelliJ IDEA从安装到使用:零基础完整指南
java·ide·intellij-idea
SmoothSailingT2 小时前
IDEA实用快捷键
java·ide·intellij-idea
wangjialelele2 小时前
Qt中的常用组件:QWidget篇
开发语言·前端·c++·qt
吞掉星星的鲸鱼4 小时前
android studio创建使用开发打包教程
android·ide·android studio
陈老师还在写代码4 小时前
android studio 签名打包教程
android·ide·android studio
hifhf4 小时前
Android Studio gradle下载失败报错
android·ide·android studio
散峰而望5 小时前
基本魔法语言数组 (一) (C语言)
c语言·开发语言·编辑器·github·visual studio code·visual studio
Yupureki7 小时前
从零开始的C++学习生活 20:数据结构与STL复习课(4.4w字全解析)
c语言·数据结构·c++·学习·visual studio·1024程序员节
春蕾夏荷_7282977258 小时前
qcustomplot 显示坐标轴
qt·qcustomplot·坐标轴