title: Visual Studio C++ "Multithreaded Debug DLL" vs "Multithreaded DLL"
body: <p>One of my projects works only with the Debug DLL and not with the non-debug DLL. </p>
  
  <ol>
  <li><p>What are the concerns of releasing a project under Debug DLL settings? For example, are certain optimizations lost? </p></li>
  <li><p>How to debug this project by setting the debug version to non-debug DLL? I have tried doing this and even changing _Debug to NDEBUG but either way it gives me the same error: </p>
  
  <p>unresolved external symbol <strong>imp</strong>_CrtDbgReportW referenced in function "public: class std::basic_string,class std::allocator > const &amp; __thiscall std::_Vector_const_iterator,class std::allocator >,class std::allocator,class std::allocator > > > >::operator*(void)const " (??D?$_Vector_const_iterator@V?$_Vector_val@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@@std@@QBEABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@XZ)</p></li>
  </ol>
  
  <p>so I'm at a loss for how to debug this project to resolve the erroar that happens only under the non-debug compiler setting. </p>