当前位置: 首页 > news >正文

Qt使用CMake编译项目时报错:#undefined reference to `vtable for MainView‘

        博主将.h文件和.cpp文件放到了不同的文件目录下面,如下图所示:

        于是构建项目的时候就报错了#undefined reference to `vtable for MainView',这个是由于src/view目录下的CMake无法自动moc头文件导致的,需要手动moc include/view目录下的头文件,这样才能识别QOBJECT宏。

        在src/view的CMake中加入这三句话就行了。

set(MOC_SOURCES ${CMAKE_SOURCE_DIR}/include/view/mainview.h)  # 指定需要 moc 处理的头文件
qt_wrap_cpp(MOC_SOURCES ${MOC_SOURCES})
list(APPEND HEADER_FILES ${MOC_SOURCES})

#这个地方需要注意,由于.cpp和.h文件不在同一目录,所以需要手动通过moc,对.h文件的QOBJECT宏进行编译,否则回报虚函表错误
#undefined reference to `vtable for MainView'
aux_source_directory(. SOURCES_FILES)
set(MOC_SOURCES ${CMAKE_SOURCE_DIR}/include/view/mainview.h)  # 指定需要 moc 处理的头文件
qt_wrap_cpp(MOC_SOURCES ${MOC_SOURCES})
list(APPEND HEADER_FILES ${MOC_SOURCES})
add_library(viewlib SHARED ${SOURCES_FILES} ${HEADER_FILES})
target_link_libraries(viewlib PUBLIC Qt6::Widgets)

相关文章:

Qt使用CMake编译项目时报错:#undefined reference to `vtable for MainView‘

博主将.h文件和.cpp文件放到了不同的文件目录下面,如下图所示: 于是构建项目的时候就报错了#undefined reference to vtable for MainView,这个是由于src/view目录下的CMake无法自动moc头文件导致的,需要手动moc include/view目录…...

python学习笔记—12—

1. 布尔类型 (1) 定义 (2) 比较运算符 (3) 代码演示 1. 手动定义 bool_1 True bool_2 False print(f"bool_1的内容是:{bool_1}, 类型是:{type(bool_1)}") print(f"bool_2的内容是:{bool_2}, 类型是:{type(bool…...

==和===的区别,被坑的一天

在 JavaScript 中, 和 都用于比较两个值,但它们有一个重要的区别: 1. (宽松相等运算符) 进行比较时,会 自动类型转换(也叫做强制类型转换),即如果比较的两个值的类型不同,JavaScr…...

基于 GPUTasker 的 GPU 使用情况钉钉推送机器人实现

引言 https://github.com/cnstark/gputasker 随着 AI 模型的广泛应用,GPU 成为团队中最重要的资源之一。然而,如何实时监控 GPU 的使用情况并及时通知团队是一个值得关注的问题。为了更好地管理显卡资源,本文基于 GPUTasker,实现了…...

Python自学 - 函数初步(内置函数、模块函数、自定义函数)

1 Python自学 - 函数初步(内置函数、模块函数、自定义函数) 1.1 内置函数 几乎所有的编程都会提供一些内置函数,以便完成一些最基本的任务,Python提供了丰富的内置函数,熟悉内置函数可以给工作带来极大便利。   Python官方的内置函数介绍网…...

【生活】冬天如何选口罩(医用口罩,N95, KN95还是KP95?带不带呼吸阀门?带不带活性炭?)

💡总结一下就是: 日常防护的话,医用口罩就可以啦。要是想长时间佩戴N95(KN95)口罩的话也可以. 在高风险环境(像医院、疫情防控期间),一定要选不带呼吸阀门的N95口罩KN95&#xff09…...

HTML5新特性|01 音频视频

音频 1、Audio (音频) HTML5提供了播放音频文件的标准 2、control(控制器) control 属性供添加播放、暂停和音量控件 3、标签: <audio> 定义声音 <source> 规定多媒体资源,可以是多个<!DOCTYPE html> <html lang"en"> <head><…...

迅为RK3568开发板编译Android12源码包-设置屏幕配置

在源码编译之前首先要确定自己想要使用的屏幕并修改源码&#xff0c;在编译镜像&#xff0c;烧写镜像。如下图所示&#xff1a; 第一步&#xff1a;确定要使用的屏幕种类&#xff0c;屏幕种类选择如下所示&#xff1a; iTOP-3568 开发板支持以下种类屏幕&#xff1a; 迅为 LV…...

力扣hot100——图论

200. 岛屿数量 class Solution { public:int numIslands(vector<vector<char>>& grid) {int ans 0;vector<int> dx { 0, 1, 0, -1 };vector<int> dy { 1, 0, -1, 0 };int n grid.size(), m grid[0].size();vector<vector<int>> …...

Docker- Unable to find image “hello-world“locally

Docker- Unable to find image “hello-world“locally 文章目录 Docker- Unable to find image “hello-world“locally问题描述一. 切换镜像1. 编辑镜像源2. 切换镜像内容 二、 检查设置1、 重启dockers2、 检查配置是否生效3. Docker镜像源检查4. Dokcer执行测试 三、自定义…...

spring-boot启动源码分析(二)之SpringApplicationRunListener

在上一篇《spring-boot启动源码分析&#xff08;一&#xff09;之SpringApplication实例构造》后&#xff0c;继续看了一个月的Spring boot启动源码&#xff0c;初步把流程看完了&#xff0c;接下来会不断输出总结&#xff0c;以巩固这段时间的学习。同时也希望能帮到同样感兴趣…...

ELK入门教程(超详细)

什么是ELK&#xff1f; ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称(后来出现的filebeat属于beats家族中的一员&#xff0c;可以用来替代logstash的数据收集功能&#xff0c;比较轻量级)&#xff0c;也被称为Elastic Stack。 Filebeat Filebeat是用于转…...

人工智能知识分享第六天-机器学习_​逻辑回归(Logistic Regression)

简介 在机器学习中&#xff0c;分类问题是一种常见的任务&#xff0c;目标是根据输入特征将数据点分配到不同的类别中。为了实现分类&#xff0c;我们需要训练一个分类器&#xff0c;该分类器能够根据输入数据的特征进行预测。 逻辑回归&#xff08;Logistic Regression&…...

基于Springboot + vue实现的校园周边美食探索及分享平台

&#x1f942;(❁◡❁)您的点赞&#x1f44d;➕评论&#x1f4dd;➕收藏⭐是作者创作的最大动力&#x1f91e; &#x1f496;&#x1f4d5;&#x1f389;&#x1f525; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 &#x1f525;&#x1f525;&…...

初学STM32 --- 外部SRAM

目录 SRAM简介 SRAM特性: XM8A51216 功能框图 8080并口读时序​编辑 8080并口写时序 SRAM 读写操作步骤 FSMC介绍 FSMC时序介绍 FSMC控制器对内核地址映射​编辑 FSMC HAL库相关驱动 SRAM驱动步骤 SRAM简介 静态随机存取存储器&#xff08;Static Random-Access Memory&am…...

创龙3588——debian根文件系统制作

文章目录 build.sh debian 执行流程build.sh源码流程 30-rootfs.sh源码流程 mk-rootfs-bullseys.sh源码流程 mk-sysroot.sh源码流程 mk-image.sh源码流程 post-build.sh 大致流程系统制作步骤 build.sh debian 执行流程 build.sh 源码 run_hooks() {DIR"$1"shiftf…...

javacript中function (res) {}与箭头函数表达式(res) =>{}的区别

javacript中function (res) {}与(res) &#xff1e;{}的区别 function (res) {} 代码演示 let shape {name:长方形,say:function(){console.log(我是this.name)setTimeout(function(){console.log(3秒后输出我是: this.name); //this.name为undefined}, 3000)} }shape.sa…...

kylin安装docker

1. 前言 本文详细介绍如何在kylin v10上安装docker。系统环境如下&#xff1a; dockder: 20.10.7 linux os: kylinv 10 (GFB) linux kernel: 4.19.90-52.23.v2207.gfb01.ky10.aarch642. 安装docker 2.1. 下载docker二进制包 wget https://mirror.nju.edu.cn…...

【Yarn】通过JMX采集yarn相关指标的Flink任务核心逻辑

通过JMX采集yarn相关指标的Flink任务核心逻辑 文章目录 通过JMX采集yarn相关指标的Flink任务核心逻辑通过jmx接口查询Yarn队列指标请求JMX配置项核心处理流程输出到kafka格式通过jmx接口查询ResourceManager核心指标请求JMX读取配置yaml配置文件核心处理逻辑输出Kafka格式彩蛋 …...

鸿蒙HarmonyOS开发:基于Swiper组件和自定义指示器实现多图片进度条轮播功能

文章目录 一、概述1、场景介绍2、技术选型 二、实现方案1、图片区域实现2、底部导航点设计3、手动切换 三、所有代码1、设置沉浸式2、外层Tabs效果3、ImageSwiper组件 四、效果展示 一、概述 在短视频平台上&#xff0c;经常可以见到多图片合集。它的特点是&#xff1a;由多张…...

《如何追上那只乌龟》阅读指北

《如何追上那只乌龟》是一本以“芝诺悖论”为引子的漫画科普书&#xff0c;用轻松方式讲解微积分核心概念‌。它通过“阿基里斯追乌龟”这一哲学难题&#xff0c;带领读者从古希腊思辨走向现代数学工具&#xff0c;理解“无穷”“极限”“微分与积分”等抽象概念如何被一步步构…...

workout-cool项目实战:构建自动化运动数据流,打通健康管理与效率工具

1. 项目概述与核心价值 最近在健身圈和开发者社区里&#xff0c;一个叫“workout-cool”的项目热度悄然攀升。乍一看这个标题&#xff0c;你可能会觉得它只是一个简单的健身记录工具&#xff0c;但当你真正深入进去&#xff0c;会发现它远不止于此。作为一个长期在健康科技和效…...

B站视频解析API架构解析:PHP实现的高效视频流获取方案

B站视频解析API架构解析&#xff1a;PHP实现的高效视频流获取方案 【免费下载链接】bilibili-parse bilibili Video API 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-parse 在视频内容生态蓬勃发展的今天&#xff0c;开发者经常面临一个技术挑战&#xff1a;…...

从DQN到D3QN:一个算法工程师的‘炼丹’笔记,聊聊那些论文里没写的训练细节

从DQN到D3QN&#xff1a;一个算法工程师的‘炼丹’笔记&#xff0c;聊聊那些论文里没写的训练细节 深度强化学习&#xff08;DRL&#xff09;的算法迭代就像一场精密的炼丹过程&#xff0c;每一个参数调整、每一处架构优化都如同炼丹师对火候的精准把控。在论文中&#xff0c;我…...

InsForge:基于Python的Instagram内容自动化创作与发布工具全解析

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目&#xff0c;叫InsForge。这名字听起来有点“工业锻造”的味道&#xff0c;实际上&#xff0c;它是一个专注于Instagram内容创作与自动化的工具集。简单来说&#xff0c;它试图帮你解决在Instagram上创作、发布、管理内容…...

Halcon深度学习工具(DLT)安装与中文环境配置实战

1. Halcon DLT安装前的准备工作 第一次接触Halcon深度学习工具(DLT)时&#xff0c;我完全被各种专业术语搞晕了。后来才发现&#xff0c;只要做好前期准备&#xff0c;安装过程其实比想象中简单得多。首先需要确认的是你的Windows系统版本&#xff0c;DLT目前支持Windows 10和1…...

高效视频帧提取终极指南:为深度学习构建专业数据集

高效视频帧提取终极指南&#xff1a;为深度学习构建专业数据集 【免费下载链接】video2frame Yet another easy-to-use tool to extract frames from videos, for deep learning and computer vision. 项目地址: https://gitcode.com/gh_mirrors/vi/video2frame 在计算机…...

如何3步获取百度网盘真实下载地址实现满速下载

如何3步获取百度网盘真实下载地址实现满速下载 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾被百度网盘的非会员下载速度困扰&#xff1f;当下载重要的工作文件、学…...

Apache Burr:用状态机模式构建Python流式应用

1. 项目概述&#xff1a;一个用于构建流式应用的Python框架最近在折腾一些实时数据处理和模型推理的项目&#xff0c;从简单的日志分析到复杂的在线推荐&#xff0c;总感觉现有的工具链要么太重&#xff0c;要么太散。想要一个既能处理流式数据&#xff0c;又能轻松集成机器学习…...

轻量级配置中心zcf:中小团队微服务配置管理实战指南

1. 项目概述&#xff1a;一个轻量级、高可用的配置中心最近在梳理团队内部的技术栈&#xff0c;发现一个挺有意思的现象&#xff1a;很多中小型项目&#xff0c;甚至是一些快速迭代的业务线&#xff0c;在配置管理上依然处于一种“原始”状态。要么是各种application.yml、appl…...