Qt项目编译生成过程中经常遇到“错误 LNK****** 无法解析的外部符号******
”这类问题。不同情况产生的原因多种多样,总结有一下几种:
- 类内使用了信号与槽,但未包含 Q_OBJECT 宏,因此需在类内加上Q_OBJECT ;
- 所需的库.lib文件未包含到项目:
- 项目未包含若需Qt模块:
如:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 "__declspec(dllimport) public: __cdecl QDomElement::~QDomElement(void)" (__imp_??1QDomElement@@QEAA@XZ),该符号在函数 "public: __cdecl QHashNode<class QTreeWidgetItem *,class QDomElement>::~QHashNode<class QTreeWidgetItem *,class QDomElement>(void)" (??1?$QHashNode@PEAVQTreeWidgetItem@@VQDomElement@@@@QEAA@XZ) 中被引用 ......
在Qt creator中:
在*.pro文件添加上对应模块,如QT += core gui network xml
在VS中设置,如图:
- 类中定义了slot,却没有实现;