Qt下Undefined reference to 'vtable for xxx'

QT下遇到这种错误提示时候需要注意以下情况:

一、cpp文件里使用了Q_OBJECT

分析:qmake不会处理.cpp文件里的Q_OBJECT,所以如果在.cpp文件中有它的话将会产生undefined reference to vtable for "xxx::xxx"。 


方法1:先用moc xxxx.cpp生成相应的moc文件,再包含到.cpp里面去。

方法2:由于前面生成的Makefile时包含这个类的头文件并没有Q_OBJECT所以在相应的Makefile里面并没有用moc xxx.h命令最终导致链接失败,此时尝试重新运行qmake

方法3:将包含Q_OBJECT的类声明放到 .h 头文件中,一般程序设计最好也这样做,类型定义放到头文件去做。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Realtek网卡如何识别具体型号是8111B/8111C/8111D还是8111E???

From: http://support.icafe8.com/technologynews/focus/1347.html 貌似在去年,Realtek网卡把型号都统一为Realtek GBE什么什么的这种名字,这个修改说实话,对有盘没啥影响,只要驱动装好,能上网就ok了,但是…

【leetcode77】Single Number

一题目描述: 给定一个数组,只有一个数字出现一次,其余都是两次,判断那个数字 思路: 不断取出数据进行异或,最后一个数字,因为相同的数字会抵消代码: public class Solution {public …

qDebug格式化输出类型

%a,%A——读入一个浮点值(仅C99有效)    %c——读入一个字符    %d——读入十进制整数    %i——读入十进制,八进制,十六进制整数    %o——读入八进制整数    %x,%X——读入十六进制整数    %s——读入一个字符串,遇空格、制…

linux服务器上jfreeChar乱码问题

更新服务器字体和jdk字库utf-8。

css的px、rpx、em、rem、vw、vh、vmin、vman的区别

px:绝对单位 1px在哪里长度都是一样 rpx:相对单位 微信小程序引入rpx单位 在屏幕像素基准为375物理像素的屏幕上 1rpx 1px 例如iph6是屏幕宽度是375px 750物理像素 那么在上1rpx 375/750px0.5px em:相对单位 基准点是父节点字体font-size大小 rem&…

mac系统如何显示和隐藏文件

From: http://www.cnblogs.com/lm3515/archive/2010/12/08/1900271.html 苹果Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令。显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写):显示Mac隐…

数制转换

进制的转换可以借助强大的BigInteger,非常的方便。 new java.math.BigInteger(num, from).toString(to); 表示num要转换的数从from源数的进制 转换成to的进制。 题目描述 求任意两个不同进制非负整数的转换(2进制~16进制)&#xf…

QString与char *之间的转换

1. 在 Qt 下将 QString 转 char* 需要用到 QByteArray 类,QByteArray 类的说明详见Qt帮助文档。因为 char* 最后都有一个‘/0’作为结束符,而采用 QString::toLatin1() 时会在字符串后面加上‘/0’。Exp : Qstring str "helloworld"; char …

Remoting-1

什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft .NET Remoting 提供了一种允许对象…

斐波那契数列;递归函数;爬楼梯问题;

斐波那契数列: 例如:一个人爬楼梯,每次只能爬1个或两个台阶,假设有n个台阶,那么这个人有多少种不同的爬楼梯方法; 1阶楼梯:1种方法 2阶楼梯:2种方法 3阶楼梯:3种方法 4阶…

QString包含中文时与char *转换

方法1&#xff1a; 添加GBK编码支持&#xff1a; #include <QTextCodec>QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK")); QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));QString str; char *ch; QByteArray ba …

DEBUG 调试

1.Step Into (also F5) 跳入 2.Step Over (also F6) 跳过 3.Step Return (also F7) 执行完当前method&#xff0c;然后return跳出此method 4.step Filter 逐步过滤 一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step Filtering) 5.resume 重…

Asp.net web Api源码分析-HttpParameterBinding

接着上文Asp.net web Api源码分析-Filter 我们提到filter的获取和调用&#xff0c;后面通过HttpActionBinding actionBinding actionDescriptor.ActionBinding;来获取HttpActionBinding实例&#xff0c;然后调用 HttpActionBinding的ExecuteBindingAsync方法来绑定Action参数。…

TCP/IP详解卷1中文版勘误表前言

相信仔细阅读过TCP/IP这一经典著作中文版的读者们最痛苦的就是其中一些语句或者词汇感觉无法理解&#xff0c;其后果要么是无法理解&#xff0c;要么理解错误&#xff0c;如果错误的概念在脑中根深蒂固了&#xff0c;对于以后的学习和工作将是十分令人苦恼的事情。看到多数读者…

promise使用详解

原文链接以及promise练习题 先说结论&#xff1a; promise是解决异步函数的一种方案 将异步操作以同步方式展现出来 避免了回调地狱 1.三种状态&#xff1a;padding–等待 resolved–成功–then rejected–失败–catch 2.promise上有then和catch方法 then接受一个参数是函数 这…

vim 使用中的一些错误[omnifunc未设置错误]

From: http://blog.sina.com.cn/s/blog_60c70b6c01015b43.html 1.option ‘omnifunc’ is notset 错误: vim7下Omnicompletion默认情况下是没有开启的&#xff0c;有时候自定义的vimrc文件会实现自动补齐&#xff0c;例如vim-autocomplpop等等&#xff0c;在编辑html/css文件的…

Sqlite 管理工具收藏

1.SQLite Administrator http://download.orbmu2k.de/files/sqliteadmin.zip 2.SQLite2009Pro-v3.8.3.1 http://osenxpsuite.net/SQLite2009Pro-v3.8.3.1.zip 3.SqliteDev http://www.sqlitedeveloper.com/downloads/SqliteDev450.zip 4.sqlite_maestro_executable已破解.rar…

Android 对话框(Dialog)大全 建立你自己的对话框

Activities提供了一种方便管理的创建、保存、回复的对话框机制&#xff0c;例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法&#xff0c;如果使用这些方法的话&#xff0c;Activity将通过getOwnerActivity()方法返回该Act…

SAP使用表空间传输异构系统迁移

SAP使用表空间传输异构系统迁移 此文档乃原创总结&#xff0c;仅适用于oracle数据库。此方法特点&#xff0c;速度快、停机时间短&#xff0c;配合RMAN使用甚至可以做到不停机、在线迁移并可以支持裸设备和ASM。以次方法做迁移&#xff0c;在实际测试中&#xff0c;从Solaris s…

在MAC下安装Exuberant ctags

From: http://blog.csdn.net/dragon1225/article/details/7021064 最简单的方式就是在终端执行&#xff1a;brew install ctags MAC自带的ctags文件只支持几种语言, 因为最近需要开发android程序, 使用到java语言, 所以下个Exuberant Ctags安装上~ 从http://ctags.sourceforge…