title: Mixing debug and release library/binary - bad practice?
body: <p>Is it a bad practice to use a release version of 3rd party library in debug binary?</p>
  
  <p>I am using a 3rd party library and compiled a release .lib library.  My exe is in debug mode development.  Then I got: </p>
  
  <pre><code>error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in test1.obj
  </code></pre>
  
  <p>After some googling I found that is because I am trying to mix release with debug, and I should probably compile the library in debug mode or otherwise muddle with the _ITERATOR_DEBUG_LEVEL macro.  But I am just curious if that is the recommanded way and why.  It just seem cumbersome that I need to compile and keep a record of both release and debug binaries for every 3rd party library I intend to use, which will be many very soon, while having no intention to debug into these code. </p>