Почему C++ не считает реализованным конструктор

Рейтинг: 1Ответов: 0Опубликовано: 04.06.2023

У меня есть класс(h) и к нему реализатор(cpp):

#pragma once

#define LOG_WARNING "Warning" 
#define LOG_INFORMATION "Info" 
#define LOG_ERROR "Error"
#define LOG_WORK "Process" 

class Logger
{
public:
    Logger();
    ~Logger();

private:
    HANDLE file;
    SYSTEMTIME systemTime;
    static Logger* inst;

public:
    static Logger* Instance() { return inst; }

    VOID CreateLogFile();
    VOID WriteLog();
};

#include "Engine.h"
#include "Logger.h"

Logger* Logger::inst;

Logger::Logger()
{
    inst = this;
}

Logger::~Logger()
{
}

VOID Logger::CreateLogFile()
{
    //код
}

VOID Logger::WriteLog()
{
    //код
}

Эти файлы находятся в отдельном проекте, но даже подключив их к другому проекту компилятор считает что класс существует а его реализатор нет. В результате этого когда я хочу создать класс и вызвать конструктор при компиляции происходит ошибка

LNK2019 unresolved external symbol "public: __cdecl Logger::Logger(void)" (??0Logger@@QEAA@XZ) referenced in function WinMain
LNK2019 unresolved external symbol "public: __cdecl Logger::~Logger(void)" (??1Logger@@QEAA@XZ) referenced in function WinMain

Ответы

Ответов пока нет.