I'm trying to do logging with spdlog for my game engine that I'm currently learning how to build and I am getting these weird errors.
"unresolved external symbol "private: static class std::shared_ptr Hazel::Log::s_CoreLogger" (?s_CoreLogger@Log@Hazel@@0V?$shared_ptr@Vlogger@spdlog@@@std@@A)"
"unresolved external symbol "private: static class std::shared_ptr Hazel::Log::s_ClientLogger" (?s_ClientLogger@Log@Hazel@@0V?$shared_ptr@Vlogger@spdlog@@@std@@A)"
Here's my code (Log.h):
#pragma once
#include <memory>
#include "Core.h"
#include "spdlog/spdlog.h"
namespace Hazel {
class HAZEL_API Log
{
public:
static void Init();
inline static std::shared_ptr<spdlog::logger>& GetCoreLogger() { return s_CoreLogger; }
inline static std::shared_ptr<spdlog::logger>& GetClientLogger() { return s_ClientLogger; }
private:
static std::shared_ptr<spdlog::logger> s_CoreLogger;
static std::shared_ptr<spdlog::logger> s_ClientLogger;
};
}
I do not know if this is needed/relevant but here's my code in the cpp file (Log.cpp):
#include "Log.h"
namespace Hazel {
std::shared_ptr<spdlog::logger> s_CoreLogger;
std::shared_ptr<spdlog::logger> s_ClientLogger;
void Log::Init()
{
spdlog::set_pattern("%^[%T] %n: %v%$");
}
}