Здравствуйте. Имеется вот такая иерархия:
[Дерево каталогов]
[Server]
--[Share]
INetSessionMgr.h
INetSessionMgr.cpp
...
--[CentralServer]
CentralServer.sln
...
----[CSKernel]
CSNetSessionMgr.h
CSKernel.cpp
CSKernel.h
main.cpp
CSKernel.vcxproj
...
[UCore]
UCConnector.cpp
UCConnector.h
UCore.sln
UCore.vcxproj
...
...
CSNetSessionMgr.h
#pragma once
#include "..\stdafx.h"
#include "../../../Share/Net/INetSessionMgr.h"
class CSNetSessionMgr : public INetSessionMgr
{
};
INetSessionMgr.h
#pragma once
#include"INetSession.h"
class INetSessionMgr
{
public:
bool CreateConnector(SESSION_TYPE type, const char * ip, int port);
bool CreateListener(const char * ip, int port);
};
INetSessionMgr.cpp
#include "INetSessionMgr.h"
#include "../../UCore/UCConnector.h"
using namespace UCORE;
bool INetSessionMgr::CreateConnector(SESSION_TYPE type, const char * ip, int port)
{
CUCConnector * pConnection = new CUCConnector;
pConnection->ReConnect();
return false;
}
CSKernel.cpp
#include "stdafx.h"
#include "CSKernel.h"
#include "Net\CSNetSessionMgr.h"
void CentralServer::CSKernel::Start()
{
CSNetSessionMgr * pSessionMgr = new CSNetSessionMgr;
pSessionMgr->CreateConnector(ST_None,"127.0.0.1", 1974);
}
UCConnector.h
#pragma once
#include "stdafx.h"
using boost::asio::ip::tcp;
class INetSession;
class CUCConnector
{
public:
bool Connect(const char * ip, int port);
void SetSession(INetSession * pSession) { m_pSession = pSession; }
private:
INetSession * m_pSession;
tcp::endpoint m_endpoint;
};
UCConnector.cpp
#include "stdafx.h"
#include "UCConnector.h"
using boost::asio::ip::address;
bool CUCConnector::Connect(const char * ip, int port)
{
address laddr;
laddr.from_string(ip);
m_endpoint = tcp::endpoint(laddr, port);
return false;
}
/VERBOSE
Ошибка:
Error LNK2019 unresolved external symbol "public: bool __thiscall CUCConnector::Connect(char const *,int)" (?Connect@CUCConnector@@QAE_NPBDH@Z) referenced in function "public: bool __thiscall INetSessionMgr::CreateConnector(enum SESSION_TYPE,char const *,int)" (?CreateConnector@INetSessionMgr@@QAE_NW4SESSION_TYPE@@PBDH@Z) CSKernel C:\Projects\С++\Sonic\Server\CentralServer\CSKernel\INetSessionMgr.obj 1
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники