问题描述:
visual studio2013+Qt5.9进行ui界面开发的时候报错:
error LNK1120: 3 unresolved externals
error LNK2019: unresolved external symbol "public: long __cdecl SciThresholdDlgl::on_pushButton_getImg_clicked(void)" (?on_pushButton_getImg_clicked@SciThresholdDlgl@@QEAAJXZ) referenced in function "private: static void __cdecl SciThresholdDlgl::qt_static_metacall(class QObject *,enum QMetaObject::Call,int,void * *)" (?qt_static_metacall@SciThresholdDlgl@@CAXPEAVQObject@@W4Call@QMetaObject@@HPEAPEAX@Z)
原因
存在只声明未定义函数
可能是long SciThresholdDlgl::on_pushButton_getImg_clicked(void) 只声明 未定义
解决方案
①定义函数;
②或无用函数注释掉声明即可
拓展
②error LNK2019: unresolved external symbol "public: long __cdecl SciThresholdDlgl::setLangurage(void)" (?setLangurage@SciThresholdDlgl@@QEAAJXZ) referenced in function "public: __cdecl SciThresholdDlgl::SciThresholdDlgl(class QWidget *)" (??0SciThresholdDlgl@@QEAA@PEAVQWidget@@@Z) D:\BinaryTask\BinaryTask\SciThresholdDlgl.obj BinaryTask
//long setLangurage(); 只声明未定义
③error LNK2019: unresolved external symbol "public: void __cdecl SciThresholdDlgl::ShowHist(void)" (?ShowHist@SciThresholdDlgl@@QEAAXXZ) referenced in function "public: long __cdecl SciThresholdDlgl::ShowImgWnd(class SciImage &)" (?ShowImgWnd@SciThresholdDlgl@@QEAAJAEAVSciImage@@@Z) D:\BinaryTask\BinaryTask\SciThresholdDlgl.obj BinaryTask
//ShowHist(void);只声明未定义;