主要是修改了文件的路径等等之后,产生了这个问题。

1>ImageCompressionEndView.obj : error LNK2001: 无法解析的外部符号 “public: static struct QMetaObject const ImageCompressionEndView::staticMetaObject” (?staticMetaObject@ImageCompressionEndView@@2UQMetaObject@@B)
1>ImageCompressionEndView.obj : error LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __thiscall ImageCompressionEndView::metaObject(void)const ” (?metaObject@ImageCompressionEndView@@UBEPBUQMetaObject@@XZ)
1>ImageCompressionEndView.obj : error LNK2001: 无法解析的外部符号 “public: virtual void * __thiscall ImageCompressionEndView::qt_metacast(char const *)” (?qt_metacast@ImageCompressionEndView@@UAEPAXPBD@Z)
1>ImageCompressionEndView.obj : error LNK2001: 无法解析的外部符号 “public: virtual int __thiscall ImageCompressionEndView::qt_metacall(enum QMetaObject::Call,int,void * *)” (?qt_metacall@ImageCompressionEndView@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>ImageCompressionFinshed.obj : error LNK2001: 无法解析的外部符号 “public: static struct QMetaObject const ImageCompressionFinshed::staticMetaObject” (?staticMetaObject@ImageCompressionFinshed@@2UQMetaObject@@B)
1>ImageCompressionFinshed.obj : error LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __thiscall ImageCompressionFinshed::metaObject(void)const ” (?metaObject@ImageCompressionFinshed@@UBEPBUQMetaObject@@XZ)
1>ImageCompressionFinshed.obj : error LNK2001: 无法解析的外部符号 “public: virtual void * __thiscall ImageCompressionFinshed::qt_metacast(char const *)” (?qt_metacast@ImageCompressionFinshed@@UAEPAXPBD@Z)
1>ImageCompressionFinshed.obj : error LNK2001: 无法解析的外部符号 “public: virtual int __thiscall ImageCompressionFinshed::qt_metacall(enum QMetaObject::Call,int,void * *)” (?qt_metacall@ImageCompressionFinshed@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>ImageCompressionFinshed.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ImageCompressionFinshed::onShowEndView(void)” (?onShowEndView@ImageCompressionFinshed@@QAEXXZ)
1>ImageCompressionScanProcess.obj : error LNK2001: 无法解析的外部符号 “public: static struct QMetaObject const ImageCompressionScanProcess::staticMetaObject” (?staticMetaObject@ImageCompressionScanProcess@@2UQMetaObject@@B)
1>ImageCompressionScanProcess.obj : error LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __thiscall ImageCompressionScanProcess::metaObject(void)const ” (?metaObject@ImageCompressionScanProcess@@UBEPBUQMetaObject@@XZ)
1>ImageCompressionScanProcess.obj : error LNK2001: 无法解析的外部符号 “public: virtual void * __thiscall ImageCompressionScanProcess::qt_metacast(char const *)” (?qt_metacast@ImageCompressionScanProcess@@UAEPAXPBD@Z)
1>ImageCompressionScanProcess.obj : error LNK2001: 无法解析的外部符号 “public: virtual int __thiscall ImageCompressionScanProcess::qt_metacall(enum QMetaObject::Call,int,void * *)” (?qt_metacall@ImageCompressionScanProcess@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>ImageCompressionScanProcess.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ImageCompressionScanProcess::onStartScanImage(void)” (?onStartScanImage@ImageCompressionScanProcess@@QAEXXZ)
1>ImageCompressionScanProcess.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ImageCompressionScanProcess::ShowImageCompressionScanFinshed(unsigned __int64)” (?ShowImageCompressionScanFinshed@ImageCompressionScanProcess@@QAEX_K@Z)
1>ImageCompressionScanProcess.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ImageCompressionScanProcess::onImageCompressionScanData(unsigned __int64 *,unsigned __int64 *)” (?onImageCompressionScanData@ImageCompressionScanProcess@@QAEXPA_K0@Z)
1>ImageCompressionScanReslut.obj : error LNK2001: 无法解析的外部符号 “public: static struct QMetaObject const ImageCompressionScanReslut::staticMetaObject” (?staticMetaObject@ImageCompressionScanReslut@@2UQMetaObject@@B)
1>ImageCompressionScanReslut.obj : error LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __thiscall ImageCompressionScanReslut::metaObject(void)const ” (?metaObject@ImageCompressionScanReslut@@UBEPBUQMetaObject@@XZ)
1>ImageCompressionScanReslut.obj : error LNK2001: 无法解析的外部符号 “public: virtual void * __thiscall ImageCompressionScanReslut::qt_metacast(char const *)” (?qt_metacast@ImageCompressionScanReslut@@UAEPAXPBD@Z)
1>ImageCompressionScanReslut.obj : error LNK2001: 无法解析的外部符号 “public: virtual int __thiscall ImageCompressionScanReslut::qt_metacall(enum QMetaObject::Call,int,void * *)” (?qt_metacall@ImageCompressionScanReslut@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>ImageCompressionScanReslut.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ImageCompressionScanReslut::ShowImageCompressionView(void)” (?ShowImageCompressionView@ImageCompressionScanReslut@@QAEXXZ)
1>ImageCompressionStart.obj : error LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __thiscall ImageCompressionStart::metaObject(void)const ” (?metaObject@ImageCompressionStart@@UBEPBUQMetaObject@@XZ)
1>ImageCompressionStart.obj : error LNK2001: 无法解析的外部符号 “public: virtual void * __thiscall ImageCompressionStart::qt_metacast(char const *)” (?qt_metacast@ImageCompressionStart@@UAEPAXPBD@Z)
1>ImageCompressionStart.obj : error LNK2001: 无法解析的外部符号 “public: virtual int __thiscall ImageCompressionStart::qt_metacall(enum QMetaObject::Call,int,void * *)” (?qt_metacall@ImageCompressionStart@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>ImageCompressionStart.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ImageCompressionStart::onNextView(void)” (?onNextView@ImageCompressionStart@@QAEXXZ)
1>ImageCompressionTabPage.obj : error LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __thiscall ImageCompressionTabPage::metaObject(void)const ” (?metaObject@ImageCompressionTabPage@@UBEPBUQMetaObject@@XZ)
1>ImageCompressionTabPage.obj : error LNK2001: 无法解析的外部符号 “public: virtual void * __thiscall ImageCompressionTabPage::qt_metacast(char const *)” (?qt_metacast@ImageCompressionTabPage@@UAEPAXPBD@Z)
1>ImageCompressionTabPage.obj : error LNK2001: 无法解析的外部符号 “public: virtual int __thiscall ImageCompressionTabPage::qt_metacall(enum QMetaObject::Call,int,void * *)” (?qt_metacall@ImageCompressionTabPage@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>JunkCleanTabPage.obj : error LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __thiscall JunkCleanTabPage::metaObject(void)const ” (?metaObject@JunkCleanTabPage@@UBEPBUQMetaObject@@XZ)
1>JunkCleanTabPage.obj : error LNK2001: 无法解析的外部符号 “public: virtual void * __thiscall JunkCleanTabPage::qt_metacast(char const *)” (?qt_metacast@JunkCleanTabPage@@UAEPAXPBD@Z)
1>JunkCleanTabPage.obj : error LNK2001: 无法解析的外部符号 “public: virtual int __thiscall JunkCleanTabPage::qt_metacall(enum QMetaObject::Call,int,void * *)” (?qt_metacall@JunkCleanTabPage@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>MainView.obj : error LNK2001: 无法解析的外部符号 “public: __thiscall ScanDataModel::ScanDataModel(class QObject *)” (??0ScanDataModel@@QAE@PAVQObject@@@Z)
1>MainView.obj : error LNK2001: 无法解析的外部符号 “public: __thiscall JunkCleanScanResultView::JunkCleanScanResultView(class QWidget *)” (??0JunkCleanScanResultView@@QAE@PAVQWidget@@@Z)
1>MainView.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ScanDataModel::removeData(int const &,struct MFDefine::tagGMCleanScanInfo const &)” (?removeData@ScanDataModel@@QAEXABHABUtagGMCleanScanInfo@MFDefine@@@Z)
1>MainView.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ScanDataModel::removeAppData(struct MFDefine::tagGMAppScanInfo const &)” (?removeAppData@ScanDataModel@@QAEXABUtagGMAppScanInfo@MFDefine@@@Z)
1>MainView.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ScanDataModel::addAppData(struct MFDefine::tagGMAppScanInfo const &)” (?addAppData@ScanDataModel@@QAEXABUtagGMAppScanInfo@MFDefine@@@Z)
1>MainView.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ScanDataModel::addData(int const &,struct MFDefine::tagGMCleanScanInfo const &)” (?addData@ScanDataModel@@QAEXABHABUtagGMCleanScanInfo@MFDefine@@@Z)
1>MainView.obj : error LNK2001: 无法解析的外部符号 “public: void __thiscall ScanDataModel::clearData(void)” (?clearData@ScanDataModel@@QAEXXZ)
1>MainView.obj : error LNK2001: 无法解析的外部符号 “public: unsigned __int64 __thiscall ScanDataModel::GetAllAppSize(void)” (?GetAllAppSize@ScanDataModel@@QAE_KXZ)
1>MainView.obj : error LNK2001: 无法解析的外部符号 “public: unsigned __int64 __thiscall ScanDataModel::GetAllJunkSize(void)” (?GetAllJunkSize@ScanDataModel@@QAE_KXZ)
1>MainView.obj : error LNK2001: 无法解析的外部符号 “public: unsigned __int64 __thiscall ScanDataModel::GetIDSize(int const &)” (?GetIDSize@ScanDataModel@@QAE_KABH@Z)
1>..\..\..\output\iMyfoneClean\Release\\iMyfoneClean.exe : fatal error LNK1120: 41 个无法解析的外部命令
1>
1>生成失败。
1>
1>已用时间 00:00:03.98

========== 生成: 成功 0 个,失败 1 个,最新 1 个,跳过 0 个 ==========

 

失败的信息大致就像这个样子。

 

 

原因是没有生成moc_XXX.cpp的文件

但是我的.h .cpp   .ui文件都在工程中

我先移除这些.h .cpp .ui文件,再添加到工程中,moc_XXX.cpp文件才添加进来,编译通过

 

这是一种可能性。

 

 

http://blog.csdn.net/chenyijun/article/details/49699433

【Qt】error LNK2001: 无法解析的外部符号 可能的问题
Tagged on:     

发表评论

电子邮件地址不会被公开。 必填项已用*标注