title: why I get LNK2005 errors on using boost JSON
body: <p>I have class</p>
  <pre><code>#ifndef TLNK2005_LOADJSON_H
  #define TLNK2005_LOADJSON_H
  #define BOOST_BIND_GLOBAL_PLACEHOLDERS
  #include &lt;boost/json.hpp&gt;
  #include &lt;boost/json/src.hpp&gt;
  
  class LoadJson {
  
  };
  
  #endif //TLNK2005_LOADJSON_H
  </code></pre>
  <p>and the .cpp file of this class</p>
  <pre><code>
  #include &quot;LoadJson.h&quot;
  
  </code></pre>
  <p>and main.cpp</p>
  <pre><code>#define BOOST_BIND_GLOBAL_PLACEHOLDERS
  #include &quot;iostream&quot;
  #include &quot;LoadJson.h&quot;
  int main() {
      std::cout &lt;&lt; &quot;Hello, World!&quot; &lt;&lt; std::endl;
      return 0;
  }
  </code></pre>
  <p>why I get LNK2005 erros there some of this erros</p>
  <p>**
  LoadJson.cpp.obj : error LNK2005: &quot;public: virtual void * __cdecl boost::json::detail::default_resource::do_allocate(unsigned __int64,unsigned __int64)&quot; (?do_allocate@default_resource@detail@json@boost@@UEAAPEAX_K0@Z) уже определен в main.cpp.obj
  LoadJson.cpp.obj : error LNK2005: &quot;public: virtual void __cdecl boost::json::detail::default_resource::do_deallocate(void *,unsigned <em><em>int64,unsigned <em><em>int64)&quot; (?do_deallocate@default_resource@detail@json@boost@@UEAAXPEAX_K1@Z) уже определен в main.cpp.obj
  LoadJson.cpp.obj : error LNK2005: &quot;public: virtual bool <em><em>cdecl boost::json::detail::default_resource::do_is_equal(class boost::container::pmr::memory_resource const &amp;)const &quot; (?do_is_equal@default_resource@detail@json@boost@@UEBA_NAEBVmemory_resource@pmr@container@4@@Z) уже определен в main.cpp.obj
  LoadJson.cpp.obj : error LNK2005: &quot;private: static struct boost::json::array::table boost::json::array::empty</em>&quot; (?empty</em>@array@json@boost@@0Utable@123@A) уже определен в main.cpp.obj
  LoadJson.cpp.obj : error LNK2005: &quot;private: static struct boost::json::object::table boost::json::object::empty</em>&quot; (?empty</em>@object@json@boost@@0Utable@123@A) уже определен в main.cpp.obj
  LoadJson.cpp.obj : error LNK2005: &quot;private: static char const * const boost::json::key_value_pair::empty</em>&quot; (?empty</em>@key_value_pair@json@boost@@0QBDB) уже определен в main.cpp.obj
  LoadJson.cpp.obj : error LNK2005: &quot;class boost::basic_string_view&lt;char,struct std::char_traits &gt; __cdecl boost::json::to_string(enum boost::json::kind)&quot; (?to_string@json@boost@@YA?AV?$basic_string_view@DU?$char_traits@D@std@@@2@W4kind@12@@Z) уже определен в main.cpp.obj
  LoadJson.cpp.obj : error LNK2005: &quot;class std::basic_ostream&lt;char,struct std::char_traits &gt; &amp; __cdecl boost::json::operator&lt;&lt;(class std::basic_ostream&lt;char,struct std::char_traits &gt; &amp;,enum boost::json::kind)&quot; (??6json@boost@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AEAV23@W4kind@01@@Z) уже определен в main.cpp.obj
  LoadJson.cpp.obj : error LNK2005: &quot;public: __cdecl boost::json::detail::shared_resource::shared_resource(void)&quot; (??0shared_resource@detail@json@boost@@QEAA@XZ) уже определен в main.cpp.obj
  LoadJson.cpp.obj : error LNK2005: &quot;public: virtual __cdecl boost::json::detail::shared_resource::~shared_resource(void)&quot; (??1shared_resource@detail@json@boost@@UEAA@XZ) уже определен в main.cpp.obj
  **</p>