[问题点数:40分,结帖人u012247890]
⋅error LNK2019: 无法解析的外部符号 "public: void __thiscall FrameLabel::onMouseMoveEvent(v⋅qscrollview.h编译出错: error C2470: “QScrollView”: 看起来像函数定义,但没有参数列表;跳过明显的函数体
等级
本版专家分:0
结帖率 50%
别人发来的一个文件,要在自己的电脑上调试成功,路径配置,环境变量基本配好,就出现了error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall 这个链接错误不知道怎么修改,已经将qt5.1.1相关的lib文件统统包含到附加依赖项里面了。还是有错误。
想问这个链接错误需要包含哪个lib文件才能解决。
error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall
展开阅读全文
等级
本版专家分:1023
这个是信号和槽连接的问题,楼主检查是否添加了Q_OBJECT宏?检查一下信号与槽的连接方式是否正确
⋅error LNK2019: 无法解析的外部符号 "public: void __thiscall FrameLabel::onMouseMoveEvent(v⋅qscrollview.h编译出错: error C2470: “QScrollView”: 看起来像函数定义,但没有参数列表;跳过明显的函数体
等级
本版专家分:0
引用 1 楼sourire_will 的回复:这个是信号和槽连接的问题,楼主检查是否添加了Q_OBJECT宏?检查一下信号与槽的连接方式是否正确
您好,谢谢指点,我检查发现有定义Q_OBJECT这个宏,我刚刚接触QT,老师给了一个写好的大的工程给我调通,说实话连QT的书都只看完了一半,想问问大神,“检查信号与槽的连接方式是否正确”要怎么具体的弄啊?
是检查connect()这类关键字的代码段吗?
等级
本版专家分:749
引用 2 楼u012247890 的回复:Quote: 引用 1 楼sourire_will 的回复:
这个是信号和槽连接的问题,楼主检查是否添加了Q_OBJECT宏?检查一下信号与槽的连接方式是否正确
您好,谢谢指点,我检查发现有定义Q_OBJECT这个宏,我刚刚接触QT,老师给了一个写好的大的工程给我调通,说实话连QT的书都只看完了一半,想问问大神,“检查信号与槽的连接方式是否正确”要怎么具体的弄啊?
是检查connect()这类关键字的代码段吗?
有的时候在新添加了qt设计师类之后也会出现无法解析的问题,qmake一下就ok
等级
本版专家分:749
引用 2 楼u012247890 的回复:Quote: 引用 1 楼sourire_will 的回复:
这个是信号和槽连接的问题,楼主检查是否添加了Q_OBJECT宏?检查一下信号与槽的连接方式是否正确
您好,谢谢指点,我检查发现有定义Q_OBJECT这个宏,我刚刚接触QT,老师给了一个写好的大的工程给我调通,说实话连QT的书都只看完了一半,想问问大神,“检查信号与槽的连接方式是否正确”要怎么具体的弄啊?
是检查connect()这类关键字的代码段吗?
就是看你定义的方法里面的参数是否一致就行,比如信号传入的参数是QString,槽的就应该也是QString,完全相同或比信号个数少都行,但是不能出现信号中不存在的
⋅error LNK2019: 无法解析的外部符号 "public: void __thiscall FrameLabel::onMouseMoveEvent(v⋅qscrollview.h编译出错: error C2470: “QScrollView”: 看起来像函数定义,但没有参数列表;跳过明显的函数体
等级
本版专家分:0
引用 4 楼u012628469 的回复:
就是看你定义的方法里面的参数是否一致就行,比如信号传入的参数是QString,槽的就应该也是QString,完全相同或比信号个数少都行,但是不能出现信号中不存在的
谢谢指点,我可能要花些功夫才能检查出问题的所在啊,有无好的快速的关于信号与槽机制的博客讲义推荐啊,大神~~
等级
本版专家分:1023
引用 5 楼u012247890 的回复:Quote: 引用 4 楼u012628469 的回复:
就是看你定义的方法里面的参数是否一致就行,比如信号传入的参数是QString,槽的就应该也是QString,完全相同或比信号个数少都行,但是不能出现信号中不存在的
谢谢指点,我可能要花些功夫才能检查出问题的所在啊,有无好的快速的关于信号与槽机制的博客讲义推荐啊,大神~~
⋅error LNK2019: 无法解析的外部符号 "public: void __thiscall FrameLabel::onMouseMoveEvent(v⋅qscrollview.h编译出错: error C2470: “QScrollView”: 看起来像函数定义,但没有参数列表;跳过明显的函数体
等级
本版专家分:0
按照上面的方法都没有得到正确的解答,在这篇文章得到了解答,可以看下http://qimo601.iteye.com/blog/1457211
⋅error LNK2019: 无法解析的外部符号 "public: void __thiscall FrameLabel::onMouseMoveEvent(v⋅qscrollview.h编译出错: error C2470: “QScrollView”: 看起来像函数定义,但没有参数列表;跳过明显的函数体
等级
本版专家分:0
还有一个问题,那个Q_OBJECT这个宏的如果有自定义槽和消息,就不能注释 掉,解决该链接错误的方法,就是在在vs的命令行里面,自己手动生成对应头文件的moc.xxxx.cpp文件,生成方法看此博客
http://blog.sina.com.cn/s/blog_a459dcf50101ded1.html;我的在cmd的命令行无法进入到相关的bin目录,于是我是通过vs 2010 命令提示符进行命令行的输入操作的。
生成了对应的moc_XXX.cpp文件之后,加入vs的工程的源文件里,清理之后再次编译,就可以成功。
等级
本版专家分:0
把头文件和CPP添加到工程就好了。
等级
本版专家分:0
class XmlProcess : public QObject ----------- : public QObject
{
Q_OBJECT ----------- : Q_OBJECT
public:
//enum { Type = UserType + 4 };
XmlProcess();
~XmlProcess();
匿名用户不能发表回复!
我从QObject继承了一个类: #ifndef MAINWINDOWPRIVATE_H #define MAINWINDOWPRIVATE_H #include "DockManager.h" class MainWindowPrivate : ...virtual ~MainWindowPrivate();public: void initDockWidge
解决方法: 注释掉Q_OBJECT
主要是因为删除了moc_文件,导致无法处理Qt的宏:Q_OBJECT造成的,可以重新生成。 生成方法参考: https://blog.csdn.net/phenixyf/article/details/69951762 这位博主分析的比较清晰,亲测有效。 ...
在网上搜了半天后发现,这是因为没有生成moc_XXX.cpp,原来我只是在.pro文件里加了个包含路径,而没有把.h文件写到.pro工程文件里,虽然编译能通过但是不会生产moc_XXX.cpp,也就无法找到QMetaObject。 qtcreator里...
qt + vs release 产生bug无法解析的外部符号 "public:virtualstructQMetaObjectconst * __thiscall *** 进入目录 cmd 运行 : 以下命令 找到生成文件的文件夹 添加 moc_***.cpp 生成成功 ...
使用vs2015 + qt vs tool...https://stackoverflow.com/questions/14170770/unresolved-external-symbol-public-virtual-struct-qmetaobject-const-thiscal 方法1: 将debug文件夹删除掉,重新编译。 我这里试...
因为QT槽的问题,导致构建过程中报错: 原因:只有继承了QObject类的类,才具有信号槽的能力。所以,为了使用信号槽,必须继承QObject。凡是QObject类(不管是直接子类还是间接子类),都应该在第一行代码写上Q_...
错误提示 udpreader.obj
遇到该问题后,解决方案如下: step1:管理员身份打开cmd ...step2:进入目标文件夹,输入:moc.exe applincantion.hpp -o moc_application.cpp ...生成缺少的moc_application.cpp文件。...steap3:将该文件放入...
其原因是系统无法访问到Moc文件。解决方案如下: 项目–>右键点击–>Qt Project Settings 检查你的 MocDirectory 其值是否是 .\GeneratedFiles,不是的话改回来 重新生成一下,搞定!
针对标题问题:一般是moc文件未包含到工程里面造成的,新建筛选器 将所有的moc_*.cpp,ui_*.h添加进去重新编译即可。如果上述两种文件丢失,可以由下面配置vs属性 根据源码重新生成。(也可以解决 :QtMsBuild: ...
errorLNK2001:无法解析的外部符号 "public: staticstructQMetaObjectconst 可能的原因:moc文件没有生成 可用的解决方法:将程序中的Q_OBJECT删除保存后重新添加保存,编译。将源文件在工程中remove移除后...
自己手动添加的类,要自己用 moc.exe 生成对应的 moc 文件,并添加到工程里面 , 也可以右键把.h文件的属性里面的 项类型 改成 qt moc,就会自动生成moc 文件了 ...
algorithmthread.obj :errorLNK2001:无法解析的外部符号 "public:virtualstructQMetaObjectconst * __thiscall AlgorithmThread::metaObject(void)const " (?metaObject@AlgorithmThread@@UBEPBUQMetaObject@...
QtCreator经常会出现下面的错误:main.obj :errorLNK2001:无法解析的外部符号 "public:virtualstructQMetaObjectconst * __thiscall Person234::metaObject(void)const " (?metaObject@Person234@@...
错误 1errorLNK2001:无法解析的外部符号 "public:virtualstructQMetaObjectconst * __thiscall Widget::metaObject(void)const " (?metaObject@Widget@@UBEPBUQMetaObject@@XZ) 错误 2 e
1、当vs2010编译qt时会出现以下错误: 1>------ 已启动全部重新生成: 项目: MyDialog, 配置: Debug Win32 ------ 1>生成启动时间为 2015/9/9 14:57:04。 1>InitializeBuildStatus: 1>正在创建“Debug\...
遇到的问题:开发环境:Qt...所以加上了Q_OBJECT描述之后,报了LNK2001:无法解析的外部符号 "public:virtualstructQMetaObjectconst * __cdecl Record::metaObject(void)const " (?metaObject@Record@@UEBAPEB...
像这种代码没问题,一编译就出现一百多个无法解析的外部符号。 原因有好几种: 1.对应的库没添加; 2.平台不一致; 3.自己写函数声明的头文件,也写了函数定义的cpp文件,却依然出现LNK2019错误。可能原因:忘记将这...
VS2015 编译QT项目出现错误: 严重性代码说明项目...错误LNK2001无法解析的外部符号 "public:virtualstructQMetaObjectconst * __thiscall TDECTitleWidget::metaObject(void)const " (?metaObjec
问题记录下解决过程: 此错误产生原因是,自己封装dll给的头文件中有你Q...public QObject { Q_OBJECTpublic : QCameraCore(); }; class BaslerCamer :public QCameraCore { Q_OBJECTpublic:	BaslerCamer(void);
public:virtualstructCRuntimeClass*__thiscall 类名::GetRuntimeClass(void)const"(?GetRuntimeClass@类名@@UBEPAUCRuntimeClass@@XZ)