使用QT新建子窗口后,编译无法通过
mainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __cdecl labelwindow::labelwindow(class QWidget *)" (??0labelwindow@@QEAA@PEAVQWidget@@@Z),该符号在函数 "private: void __cdecl MainWindow::on_tabWidget_tabBarClicked(int)" (?on_tabWidget_tabBarClicked@MainWindow@@AEAAXH@Z) 中被引用
经过分析,在build-xxx-Desktop_Qt_5_11_3_MSVC2017_64bit-Debug,即编译生成的目录中缺少ui_labelwindow.h文件
该文件是由labelwindow.ui生成的,这里qt没有为我们自动生成导致了这个报错,有两个解决办法
1. 使用uic.exe手动生成
这个文件在qt目录下,可以直接使用everything搜索然后使用
uic E:\project\Project_C++\DeepLearningTrain\DeepLearningTrain\labelwindow.ui > ui_labelwindow.h
2. 把build-xxx-Desktop_Qt_5_11_3_MSVC2017_64bit-Debug整个文件夹删掉然后重新编译QT工程