error LNK2019: 无法解析的外部符号 "public: void __cdecl
时间: 2023-10-22 11:50:20 浏览: 34
很抱歉,由于您没有提供完整的错误信息,我无法给出具体的解决方案。但是,通常情况下,LNK2019错误是由于链接器找不到函数或符号的定义引起的。解决此问题的方法可能包括:
1. 检查函数或符号的定义是否存在于正确的源文件中。
2. 确保函数或符号的声明与其定义匹配。
3. 检查库文件是否正确链接并包含在项目设置中。
4. 确保函数或符号的命名空间和访问修饰符等方面的配置正确。
如果您能提供更详细的错误信息和相关的代码片段,我将能够为您提供更准确的帮助。
相关问题
main.obj:-1: error: LNK2019: 无法解析的外部符号 "public: void __cdecl MainWindow::setSettings(class Settings *)" (?setSettings@MainWindow@@QEAAXPEAVSettings@@@Z),该符号在函数 main 中被引用
这个错误通常是由于链接器找不到某个函数的定义而引起的。在这种情况下,链接器无法解析MainWindow类中的setSettings方法。
您需要确保MainWindow类中的setSettings方法已经被正确地实现了,并且在main函数中正确地链接MainWindow类的对象。您也可以检查一下您的头文件和源文件是否正确地包含和使用了类的定义和声明。
如果问题仍然存在,您可以考虑在MainWindow类的实现文件中添加更多的调试输出语句,以便更好地了解程序的运行情况。
在QT4升级到QT5时,报错1>AboutDlg.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class QSize __cdecl QWidget::size(void)const " (__imp_?size@QWidget@@QEBA?AVQSize@@XZ),该符号在函数 "public: __cdecl empAboutChartProDlg::empAboutChartProDlg(class QWidget *)" (??0empAboutChartProDlg@@QEAA@PEAVQWidget@@@Z) 中被引用 1>AboutDlg.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __cdecl QWidget::setFixedSize(class QSize const &)" (__imp_?setFixedSize@QWidget@@QEAAXAEBVQSize@@@Z),该符号在函数 "public: __cdecl empAboutChartProDlg::empAboutChartProDlg(class QWidget *)" (??0empAboutChartProDlg@@QEAA@PEAVQWidget@@@Z) 中被引用
这些错误是链接器错误(LNK2019),指示找不到符号的定义。根据错误消息,它们指的是在`empAboutChartProDlg`类的构造函数中引用了`QWidget::size()`和`QWidget::setFixedSize()`函数,但链接器无法解析这些函数的定义。
这个问题通常是由于链接器无法找到正确的库文件或库文件路径引起的。在将Qt 4项目升级到Qt 5时,需要确保项目配置正确,包括正确引用了Qt 5的库文件路径,并且链接器能够找到所需的Qt库文件。
另外,也请确保你的代码中包含了正确的头文件和命名空间。`QWidget`类是在`QtWidgets`模块中定义的,所以你需要包含相应的头文件并在代码中使用`QtWidgets`命名空间。
如果你已经正确配置了Qt 5库文件路径和头文件,并且仍然遇到这些问题,可能是由于版本不兼容导致的。请确保你的代码和库文件都是针对同一个Qt版本编译的。
希望这些提示能够帮助你解决问题。如果还有其他问题,请随时提问。