C++生成时,无法解析的外部符号

来源:百度知道 编辑:UC知道 时间:2024/05/05 20:08:49
GameServer error LNK2019: 无法解析的外部符号 "public: void __thiscall KSwordOnLineSever::SetNetStatus(unsigned long,enum NetStatus)" (?SetNetStatus@KSwordOnLineSever@@QAEXKW4NetStatus@@@Z) ,该符号在函数 "void __stdcall ServerEventNotify(void *,unsigned long const &,unsigned long const &)" (?ServerEventNotify@@YGXPAXABK1@Z) 中被引用

GameServer error LNK2019: 无法解析的外部符号 "public: int __thiscall KSwordOnLineSever::GetNetStatus(unsigned long)" (?GetNetStatus@KSwordOnLineSever@@QAEHK@Z) ,该符号在函数 "private: void __thiscall KSwordOnLineSever::MessageLoop(void)" (?MessageLoop@KSwordOnLineSever@@AAEXXZ) 中被引用

GameServer error LNK2019: 无法解析的外部符号 "private: void __thiscall KSwordOnLineSever::ChatGroupMan(void const *,unsigned int)" (?ChatGroupMan@KSwordOnLineSever@@AAEXPBXI@Z) ,该符号在函数 "private: void __thiscall KSwordOnLineSever::ChatMessageProcess(char const *,unsigned int)" (?ChatMessageProcess@KSwordOnLineSever@@AAEXPBDI@Z) 中被引用

首先可以肯定地告诉你,出现这种错误,原因不在于编程平台或者编译器的某些文件,是你自己程序有问题。

请检查一下自己的程序。
上面提到的那几个函数,可能在你的class KSwordOnLineSever类里面定义了,但它的实现部分还没有写,看看是不是忘了?
看看你是不是犯了如下所示的错误:
class a{
int x;
public:
void set(int p);
};

/*漏掉函数的实现部分:
void a::set (int p){
x = p;
}
*/

这种错误不会在编译时被显示,因为它符合语法规则,但无法build!

看看包含这些函数的文件是否加到工程文件中!

检查一下引用的库文件