title: LNK2038 mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MTd_StaticDebug' in xxx.obj
body: <p>I am building my application in debug mode using VS 2017. I have built the  3rd party libraries in release mode that it depends on and links to. Is this allowed or is that the cause of the reported error.</p>
  
  <pre><code>LNK2038 mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MTd_StaticDebug' in xxx.obj   my-application  &lt;path-to&gt;\libboost_filesystem-mt-s.lib(path_traits.obj) 1   
  </code></pre>
  
  <p><a href="https://msdn.microsoft.com//library/jj889284.aspx" rel="noreferrer">This</a> page states:</p>
  
  <blockquote>
    <p>RuntimeLibrary
    Indicates the version of the C++ Standard Library and C runtime that's used by an app or library. Code that uses one version of the C++ Standard Library or C runtime is incompatible with code that uses a different version. For more information, see /MD, /MT, /LD (Use Run-Time Library).</p>
  </blockquote>
  
  <p>I understand that the DLL runtime library can't be mixed with the non-DLL library. Is the same true for the debug and release libraries?</p>
  
  <p>I haven't had any problems doing the same thing on Linux.</p>