title: Strange "unresolved external symbol" error with spdlog logging for my game engine
body: <p>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.</p>
  
  <p>"unresolved external symbol "private: static class std::shared_ptr Hazel::Log::s_CoreLogger" (?s_CoreLogger@Log@Hazel@@0V?$shared_ptr@Vlogger@spdlog@@@std@@A)"</p>
  
  <p>"unresolved external symbol "private: static class std::shared_ptr Hazel::Log::s_ClientLogger" (?s_ClientLogger@Log@Hazel@@0V?$shared_ptr@Vlogger@spdlog@@@std@@A)"</p>
  
  <p>Here's my code (Log.h):</p>
  
  <pre><code>#pragma once
  
  #include &lt;memory&gt;
  #include "Core.h"
  #include "spdlog/spdlog.h"
  
  namespace Hazel {
      class HAZEL_API Log
      {
      public:
          static void Init();
  
          inline static std::shared_ptr&lt;spdlog::logger&gt;&amp; GetCoreLogger() { return s_CoreLogger; }
          inline static std::shared_ptr&lt;spdlog::logger&gt;&amp; GetClientLogger() { return s_ClientLogger; }
      private:
          static std::shared_ptr&lt;spdlog::logger&gt; s_CoreLogger;
          static std::shared_ptr&lt;spdlog::logger&gt; s_ClientLogger;
      };
  }
  </code></pre>
  
  <p>I do not know if this is needed/relevant but here's my code in the cpp file (Log.cpp):</p>
  
  <pre><code>#include "Log.h"
  
  namespace Hazel {
  
      std::shared_ptr&lt;spdlog::logger&gt; s_CoreLogger;
      std::shared_ptr&lt;spdlog::logger&gt; s_ClientLogger;
  
      void Log::Init()
      {
          spdlog::set_pattern("%^[%T] %n: %v%$");
      }
  
  }
  </code></pre>