关于网友提出的“ 拜托帮我看一下这是为什么!在线等~~~”问题疑问,本网通过在网上对“ 拜托帮我看一下这是为什么!在线等~~~”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 拜托帮我看一下这是为什么!在线等~~~
描述: 错误 2 error LNK2019: 无法解析的外部符号 "public: virtual __thiscall BmpButton::~BmpButton(void)" (??1BmpButton@@UAE@XZ),该符号在函数 "public: virtual __thiscall CLoginDlg::~CLoginDlg(void)" (??1CLoginDlg@@UAE@XZ) 中被引用 Lobby.obj
错误 3 error LNK2001: 无法解析的外部符号 "public: virtual __thiscall BmpButton::~BmpButton(void)" (??1BmpButton@@UAE@XZ) LoginDlg.obj
错误 4 error LNK2019: 无法解析的外部符号 "public: __thiscall BmpButton::BmpButton(void)" (??0BmpButton@@QAE@XZ),该符号在函数 "public: __thiscall CLoginDlg::CLoginDlg(class CWnd *)" (??0CLoginDlg@@QAE@PAVCWnd@@@Z) 中被引用 LoginDlg.obj
错误 5 error LNK2001: 无法解析的外部符号 "public: virtual struct CRuntimeClass * __thiscall CLoginDlg::GetRuntimeClass(void)const " (?GetRuntimeClass@CLoginDlg@@UBEPAUCRuntimeClass@@XZ) LoginDlg.obj
在使用一个DLL工程内的文件时出的错!
不知道为什么会这样,望高人指点,小弟把所有的分都拿出来
解决方案1: 如果还不行,请检查以下原因
符号声明包含拼写错误,以致于符号声明与符号定义不同。
使用了一个函数,但其参数的类型或数量与函数定义不匹配。
函数声明使用和函数定义使用中的调用约定(__cdecl、__stdcall 或 __fastcall)不同。
符号定义在编译为 C 程序的文件中,而符号是在 C++ 文件中不带 extern "C" 修饰符声明的。在此情况下,请修改声明,例如不是使用:
extern int i;
extern void g();
而使用:
extern "C" int i;
extern "C" void g();
同样,如果在将由 C 程序使用的 C++ 文件中定义符号,请在定义中使用 extern "C"。
符号定义为静态,但稍后在文件外部被引用。
没有定义静态类成员。
以上介绍了“ 拜托帮我看一下这是为什么!在线等~~~”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3363269.html