title: Not able to add C++ libraries in keil c project
body: <p>I am trying to add a c++ library to a c project in keil.
  Code is getting compiled and linked properly, but i am not able to debug as it is not reaching main.It is getting stopped at a function <em>sys_open</em> exactly at <em>BKPT 0xAB</em> instruction.
  I tried posting in keil forum.</p>
  
  <p><a href="http://www.keil.com/forum/59982/#msg195240" rel="nofollow">http://www.keil.com/forum/59982/#msg195240</a></p>
  
  <p>I think it is related to <em>semihosting</em> in arm. 
  I tried using no semi hosting and re-implemented following functions in <strong>retarget.c</strong>.
  But I am getting a linker error that sys_open is multiply defined.</p>
  
  <pre><code>Error: L6200E: Symbol _sys_open multiply defined (by sys_io.o and retarget.o).
  </code></pre>
  
  <p>I am removing the definition I am getting the following linker error.</p>
  
  <pre><code>.\Objects\STM32429I_EVAL.axf: Error: L6915E: Library reports error: __use_no_semihosting was requested, but _sys_open was referenced
  </code></pre>
  
  <p>What mistake am I doing??</p>
  
  <p>The lib file which i have added to the project makes use of assert functions.
  If that is the problem, how can i re-implement assert in retarget? </p>