|
先转一下其他人的帖,同样是error LNK2001的问题。 第一次来发个帖,如果可能的话期望找到根本原因! 几天没有关注我的QT程序,再次拿出来编译后竟然出现连接错误,因为四体不勤,没有频繁的checkin,所以无法找到中间版本,只能解决问题了。 1>MainWindowBottomWidget.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall MainWindowBottomWidget::metaObject(void)const " (?metaObject@MainWindowBottomWidget@@UBEPBUQMetaObject@@XZ) (char const *)" (?qt_metacast@MainWindowBottomWidget@@UAEPAXPBD@Z) QMetaObject::Call,int,void * *)" (?qt_metacall@MainWindowBottomWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z) 问题原因:没有找到根本原因,据说是链接时无法找到对应的moc文件。
如果用到信号槽但类的定义没有放在.h文件中, qmake不会自动调moc, 你就需要写#include "moc_MainWindowBottomWidget.cpp"告诉qmake你有文件需要 moc 在visual studio中,如果是接下来添加的Q_OBJECT宏、信号函数、槽函数等,由于之前编译过程中没有生成moc文件,或者该moc文件已被删除,那么新添加 后,visual studio就不会再生成moc文件了,这就导致visual studio在链接时出现以上情况的Error。
我总结的原因如下: vs在编译时会产生一系列的命令以控制该.h、.cpp文件的编译过程,并且,以后不会自动修改这些命令。 利用Qt编程时,写好.h、.cpp文件并第一次编译之后,若.h文件中定义类时没有添加Q_OBJECT宏以及信号函数、槽函数,VS编译命令中就没有moc命令,就不会调用Qt的moc工具以生成moc_*.cpp文件;并且即使添加了Q_OBJECT宏之后,VS也不会自动添加moc命令,因而不会生成moc文件。 VS在LINK时,找不到moc文件,就出现了error LNK2001的错误。 修改方法: 如果在.cpp文件的末尾添加#include "moc_MainWindowBottomWidget.cpp",确实可以解决error LNK2001的问题。但是,总有一种让人很不爽的感觉。我用以下的方法解决了这个问题:
最终解决方法: 在.cpp文件的末尾添加#include "moc_MainWindowBottomWidget.cpp", |
相关推荐
[Qt4]VS2010编译提示error LNK2001: unresolved external symbol "public: virtual struct QMetaObject等错误解决方案
[Qt4]VS2010编译提示 error LNK2001: unresolved external symbol “public: virtual struct QMetaObject const * __cdecl 等错误的解决方案 moc处理C++
QT error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall Widget::metaObjec
因为QT槽的问题,导致构建过程中报错: 原因:只有继承了QObject类的类,才具有信号槽的能力。所以,为了使用信号槽,必须继承QObject。凡是QObject类(不管是直接子类还是间接子类),都应该在第一行代码写上Q_OBJECT。不管是不是使用信号槽,都应该添加这个宏。这个宏的展开将为我们的类提供信号槽机制、国际化机制以及 Qt 提供的不基于 C++ RTTI 的反射能力。因此,如果你
多旋翼飞行器设计与控制·Pixhawk4以及外部设备接线(笔记004)
笔记主要来源:Pixhawk 4 接线快速入门 目录 一、Pixhawk 4 的各个接口 二、接线图概览(重要传感器及外围设备) 三、飞控、GPS的安装和方向 四、电源 五、无线电遥控 六、数传电台(可选) 七、SD Card(可选) 八、电机以及其他外设 一、Pixhawk 4 的各个接口 FMU:Flight Management Unit 飞行管理组件 主 FMU 处理器:STM32F765 32 位 Arm® Cortex®-M7,216MHz,2MB...
error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl MainWindow::metaObject(
error LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __cdecl MainWindow::metaObject(void)const “问题描述:在编译Qt界面文件时候,出现一下报错2>mainwindow.obj : error LNK2001: 无法解析的外部符号 "public: virtual struc
紫光同创PGL50H开发板实战:盘古50KN网口板的高速通信与数据处理
本文详细介绍了紫光同创PGL50H开发板(盘古50KN网口板)在高速通信与数据处理领域的实战应用。文章从开箱、核心芯片解析、开发环境搭建入手,重点讲解了如何配置与测试其8路千兆以太网接口和SFP光纤接口,并深入探讨了FPGA与DDR3协同进行多路数据汇聚处理的系统架构与调试方法,为网络通信与高速数据处理系统开发提供了宝贵的实践经验。
基于PLC的冲压件自动生产线电气系统设计【附数据】
考虑到生产线的高效运行和维护简便性,选择了三菱FX系列的可编程逻辑控制器(PLC)作为核心控制单元,该型号的PLC因其高可靠性和强大的功能集,在工业自动化领域有着广泛的应用。最后,在完成初步的软件开发后,进行了多轮次的模拟测试和现场调试,逐步修正了存在的问题,最终达到了预期的功能要求。例如,对于进料环节,选用了光电传感器以精确检测物料的位置;此外,为了适应不同尺寸的工件加工需求,还特别设计了一套可调节的夹具系统,不仅提高了生产线的灵活性,同时也降低了更换模具的成本。✅ 感恩科研路上每一位志同道合的伙伴!
error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall Widget::metaObject
编写一个简单的给予QT的DEMO程序步骤大致如下: 下面开始编程: A 编写 main.cpp B 编写 hello.h C 编写 hello.cpp D 制作.ui文件,并生成ui_hello.h 打开designer,拖入一个pushButton,一个label。保存为hello.ui。然后生成ui_hello.h,并添加到项目的源文件中。 编译运
步进电机原理及梯形加速算法
步进电机重理解与梯形加速算法
error LNK2001: 无法解析的外部符号 Qt的moc机制
先转一下其他人的帖,同样是error LNK2001的问题。 第一次来发个帖,如果可能的话期望找到根本原因! 几天没有关注我的QT程序,再次拿出来编译后竟然出现连接错误,因为四体不勤,没有频繁的checkin,所以无法找到中间版本,只能解决问题了。 1>MainWindowBottomWidget.obj : error LNK2001: 无法解析的外部符号 "public: virtual
在Jetson orin NX上安装部署Yolov8
1、环境准备与依赖安装2、安装PyTorch和Torchvision:从NVIDIA官方论坛或开发者下载中心获取与你的JetPack版本兼容的PyTorch wheel文件。例如,对于JetPack 5.1.2,可以安装PyTorch v2.1.0 8。:需要编译安装与PyTorch版本匹配的Torchvision。这里自己编译没有成功,下载了一个现成的可以用torchvision-0.16.2+c6f3977-cp38-cp38-linux_aarch64.whl。
自动驾驶仿真:基于Carsim开发的加速度请求模型
1、自动驾驶行业中,算法端对于纵向控制的功能预留接口基本都是加速度,我们需要给控制器仿真加速度的信号,控制器才会实现对纵向功能的控制。2、Carsim或者其他动力学软件,主要提供者节气门开度和主缸压力进行控制。我们在进行联合仿真时,往往都要通过PID的方式将请求加速度转换成对应的节气门开度与主缸压力传给动力学软件进行闭环控制。
VS + QT 出现 LNK2001 无法解析的外部符号 QMetaObject 的问题
VS + Qt开发过程中有时候会新增一个QtClass(带Q_OBJECT定义的类时),发现编译无法通过,可能会出现LNK2001 的错误,这是由于IDE没有自动为新建的类生成 moc_XXXX.cpp 文件导致的。网上很多博客上写使用moc命令来解决,但是这样的话,如果多人开发的话,在你电脑上能变过,moc_XXXX.cpp我们一般都不提交,那么别人有可能也会遇到这种情况。那咱们来找一下造成这种现象的原因吧,这样一次解决就ok了。 咱们先打开工程对应的xxxx.vcxpr...
2025年再论 SAP ABAP 系统经典的三层架构的理解
【摘要】本文基于作者19年SAP开发经验,深入解析SAP经典三层架构在S/4HANA时代的演进与实践。数据库层从多数据库支持转向HANA专属,通过SQLScript实现计算下推;应用层以ABAP平台为核心,融合OData和RAP等现代开发范式;表现层从SAP GUI过渡到Fiori Launchpad为主导。文章通过真实案例(如月末关账优化、ATP检查改造)展示三层协作如何提升性能,并探讨了本地/云/混合部署策略。全文贯穿SAP官方技术文档参考,为开发者提供体系化架构认知和实践指导。
QT+VS2022 LNK2001: 无法解析的外部符号 “public: static struct QMetaObject const XXX::staticMetaObject@@B
VS2022 + QT5 出现 LNK2001 无法解析的外部符号 QMetaObject 的问题
基于Python的房地产评估数据抓取与分析 —— 房价走势与市场报告
在房地产行业中,了解和分析房产价格的变化趋势、各个地区的房价差异以及市场评价报告,可以帮助投资者、购房者以及政策制定者做出更加明智的决策。本文介绍了如何使用Python爬虫技术抓取房地产平台上的房产评估报告、价格走势等数据,并对抓取的数据进行分析。通过这些技术,您可以自动化抓取房地产平台的数据,分析房价走势,获取市场报告,为房地产投资决策提供数据支持。假设我们要从链家网抓取某个房产的价格、房产描述以及历史成交价格,首先需要获取目标房产页面的URL,并发送HTTP请求。伪装为常见浏览器,避免被识别为爬虫。
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
QT5+VS LNK2001: 无法解析的外部符号 “public: static struct QMetaObject
问题描述 在VS下开发Qt,自己新建h头文件和CPP源文件,在h文件中实现了继承某个QT类的自定义类,但是编译链接的时候报错 解决方法 添加头文件到工程,右击该文件,点击编译,然后再编译工程即可。 参考文章: 在使用QT + VS2005编译程序时,有时出现如下错误: 错误 1 error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall Widget::metaObject(void)const
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
vs2010+qt4编译出现error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject等错误
1、当vs2010编译qt时会出现以下错误: 1>------ 已启动全部重新生成: 项目: MyDialog, 配置: Debug Win32 ------ 1>生成启动时间为 2015/9/9 14:57:04。 1>InitializeBuildStatus: 1> 正在创建“Debug\MyD
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
error: LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __cdecl
我从QObject继承了一个类: #ifndef MAINWINDOWPRIVATE_H #define MAINWINDOWPRIVATE_H #include "DockManager.h" class MainWindowPrivate : public QObject { Q_OBJECT public: MainWindowPrivate(); virtual ~MainWindowPrivate(); public: void initDockWidge
error LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const *
error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const *(VS2019 + Qt)
QT4 error LNK2001: 无法解析的外部符号
转自:http://blog.youkuaiyun.com/bloodkain/article/details/7614224 首先这个故事发生的环境是 QT+VS2008 然后是引用别人的文章 http://hi.baidu.com/%BC%BC%CA%F5%B2%BB%CA%C7%B7%B9%CD%EB/blog/item/bb22fb25fc3c552bc9955923.
QT+VS2008编译出现errorLNK2001:无法解析的外部符号
若出现如下错误: 错误 1 error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall Widget::metaObject(void)const " (?metaObject@Widget@@UBEPBUQMetaObject@@XZ) 错误 2 error LNK2001: 无法解析的
VS+QT报错error LNK2001: 无法解析的外部符号 public: virtual void * __cdecl CFileManager::qt_metacast(char const
描述:在VS项目头文件一开始没有添加QT信号槽机制,后续需要添加时继承QObject并声明Q_OBJECT宏,生成了moc文件仍然出现报错 error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl MainWindow::metaObject(void)const “ error LNK2001: 无法解析的外部符号 "public: virtual void * __cdecl MainWindow::qt_
VC+QT编译问题:error LNK2001: 无法解析的外部符号 “public: virtual int __cdecl *****::qt_metacall
1>TDRRGenerator.obj : error LNK2001: 无法解析的外部符号 "public: virtual int __cdecl TDRRGenerator::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@TDRRGenerator@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z) 1>TDRRGenerator.obj : error LNK2001: 无法解析的外
3660



被折叠的 条评论
为什么被折叠?



