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

news/2025/2/14 6:15:46/

问题简述
创建项目的时候,已经添加了类文件,前期认为不需要信号槽,就没有添加宏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,再添加回来,并和原解决方案做对比,发现项目解决方案里导入文件的方式不一样QtMocClInclude

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


http://www.ppmy.cn/news/1173135.html

相关文章

pycharm转移缓存目录

原来的缓存目录为C:\Users\86176\AppData\Local\JetBrains,各种配置文件、缓存文件随着pycharm的使用堆积在这里,导致C盘逐渐爆满。 因此需要将缓存目录转移至D盘。首先需要了解缓存目录的知识。 PyCharm 和其他 JetBrains 的 IDE 通常会有两个关键的目…

【React Router】React Router学习笔记

React Router学习笔记 React Router1.什么是React Router?2.为什么要用React Router?3.基础3.1 路由配置3.2 路由匹配原理3.3 History3.3.1 browerHistory3.3.2 hashHistory3.3.3 createMemoryHistory3.3.4 实现示例 3.4 默认路由(IndexRoute)与IndexLink3.4.1 IndexRoute3.4…

如何撰写一份优秀的活动策划与执行方案?这些步骤和技巧请收好

活动策划与执行是一个综合性、复杂性极高的工作,对于任何一场活动的成功举办都起着至关重要的作用。一份优秀的活动策划与执行方案能够确保活动目标的实现,有效管理资源,提升活动效果。在本文中,我们将探讨如何撰写一份优秀的活动…

【Java】Spring Cloud OAuth2之密码模式实战

Spring Cloud OAuth2 代码地址&#xff1a;https://gitee.com/kkmy/kw-microservices.git (又是一年1024&#xff0c;分享一下之前搭的OAuth2服务) OAuth2依赖版本 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud…

假脸检测:Exploring Decision-based Black-box Attacks on Face Forgery Detection

论文作者&#xff1a;Zhaoyu Chen,Bo Li,Kaixun Jiang,Shuang Wu,Shouhong Ding,Wenqiang Zhang 作者单位&#xff1a;Fudan University;Yiwu Research Institute of Fudan University 论文链接&#xff1a;http://arxiv.org/abs/2310.12017v1 内容简介&#xff1a; 1&…

docker和k8s之间的关系

一句话总结&#xff1a;Docker只是容器的一种&#xff0c;它面向的是单体&#xff0c;K8S可以管理多种容器&#xff0c;它面向的是集群&#xff0c;Docker可以作为一种容器方案被K8S管理。 https://baijiahao.baidu.com/s?id1763716289717819767&wfrspider&forpc 背…

kepler笔记:Trip

Trip图层可以显示动画路径 1 数据格式 目前Trip图层支持一种特殊的GeoJSON格式&#xff0c;其中坐标线串有一个表示时间戳的第4个元素 为了使路径动画化&#xff0c;GeoJSON数据需要在其特征的几何形状中包含LineString&#xff0c;并且LineString中的坐标需要有4个元素&…