title: Double inclusion and headers only library stbi_image
body: <p>I have a main.cpp including a.h (that has its own a.cpp)
  a.h includes the header only library "stbi_image.h" as such:</p>
  
  <pre><code>#ifndef STB_IMAGE_IMPLEMENTATION
  #define STB_IMAGE_IMPLEMENTATION
  #include "stb_image.h"
  #endif
  </code></pre>
  
  <p>(<a href="https://github.com/nothings/stb" rel="noreferrer">https://github.com/nothings/stb</a>)</p>
  
  <p>*.cpp includes its own *.h with the use of #pragma once</p>
  
  <p>But I still get: </p>
  
  <blockquote>
    <p>LNK1169 one or more multiply defined symbols found LNK2005 stb-failure
    reason already defined in a.obj file = main.obj ... and a bunch of
    others</p>
  </blockquote>
  
  <p>It seems right to me, but as I understand in this question:
  <a href="https://stackoverflow.com/questions/8201944/multiple-definition-and-header-only-libraries">Multiple definition and header-only libraries</a></p>
  
  <p>Maybe I should add inline/static to the stb_image.h function I need ?
  Am I doing something wrong?</p>
  
  <p>Thanks in advance</p>