0
我有一個很奇怪的錯誤(工程類之間):當我想用SocialServer::Client
類從我SocialServer::Server
類,連接器扔我兩個LNK2019錯誤:C++ LNK2019
Error 1 error LNK2019: unresolved external symbol "public: void __thiscall SocialServer::Client::Handle(void)" ([email protected]@[email protected]@QAEXXZ) referenced in function "private: static unsigned int __stdcall SocialServer::Server::listenThread(void *)" ([email protected]@[email protected]@[email protected]) C:\Users\benjamin\Documents\Visual Studio 2010\Projects\FCX Social Server\SocialServer Core\Server.obj SocialServer Core
Error 2 error LNK2019: unresolved external symbol "public: __thiscall SocialServer::Client::Client(unsigned int)" ([email protected]@@[email protected]@Z) referenced in function "private: static unsigned int __stdcall SocialServer::Server::listenThread(void *)" ([email protected]@[email protected]@[email protected]) C:\Users\benjamin\Documents\Visual Studio 2010\Projects\FCX Social Server\SocialServer Core\Server.obj SocialServer Core
不過,這些2人失蹤功能得到正確實施:
Client.h
#pragma once
#include "dll.h"
namespace SocialServer
{
class __social_class Client
{
public:
Client(SOCKET sock);
~Client();
void Handle();
private:
static unsigned __stdcall clientThread(void* value);
SOCKET _socket;
uintptr_t _thread;
unsigned int _thread_id;
};
}
Client.cpp
#pragma once
#include "Client.h"
namespace SocialServer
{
Client::Client(SOCKET socket)
{
this->_socket = socket;
}
Client::~Client()
{
}
void Client::Handle()
{
std::cout << " New client " << std::endl;
this->_thread = _beginthreadex(NULL, 0, Client::clientThread, &this->_socket, CREATE_SUSPENDED, &this->_thread_id);
ResumeThread((HANDLE)this->_thread);
}
unsigned __stdcall Client::clientThread(void* value)
{
// Some code to execute here ...
}
}
問題從何而來?
什麼是__social_class? – 2010-09-19 15:30:01
#define __social_class __declspec(dllexport) – Sywesk 2010-09-19 15:42:23