Visual Studio 2017 C++ LNK2019 unresolved external symbol

541
31 мая 2017, 06:20

Здравствуйте. Имеется вот такая иерархия:

[Дерево каталогов]
[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

READ ALSO
Регулярное выражение в С++

Регулярное выражение в С++

Не могу понять почему не работает следующий кодВ res всегда false

294
Qt C++ layout выходит за пределы TabWidget

Qt C++ layout выходит за пределы TabWidget

Всем приветХочу добиться корректного расположения QToolBox в QTabWidget

437
Не работает javascript в нативном браузере Android

Не работает javascript в нативном браузере Android

Не работает javascript в нативном браузере AndroidПритом проблема не в браузере, потому что на других сайтах js работает

334
ExtJS Charts. Проблема подключения

ExtJS Charts. Проблема подключения

Стоит задача - рисовать графики при помощи функционала extjsПодключил extjs, jquery, и сам js файл:

346