QT MSVC 编译器添加新类报错LNK2019 error LNK2019: unresolved external symbol "public

有点小郁闷。qt下代码本来是用的mingw 编译的,现在因为一些原因,需要改成用msvc 编译器编译,然后遇到一个奇怪的问题,具体就是我在添加一个新类的时候,总是提示无法解析的符号被引用。找了好久的原因。网上有人说是类中定义了一个函数而没有实现,我用mingw编译是通过的,换到msvc 就报错,显然原因不是这个。

程序报错信息类似与下面这种  

1>main.obj : error LNK2019: unresolved external symbol "public: void __thiscall Matrix_sb::init(void)" (?init@Matrix_sb@@QAEXXZ) referenced in function  main 

或者这种:

mainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __thiscall Dialog1::Dialog1(class QWidget *)" (??0Dialog1@@QAE@PAVQWidget@@@Z),该符号在函数 "private: void __thiscall MainWindow::rightClickedOperation(void)" (?rightClickedOperation@MainWindow@@AAEXXZ) 中被引用

同样的新建项目,改项目头文件目录也是一样报错。


解决方法: 删除调试文件夹 build-test-Destop_QT_5_7_10_MSVC2015-debug 

重新编译就可以编译通过 

原因我还不知道,如果有人知道请指教小生。

你可能感兴趣的:(QT)