title: Declaration of void abort() throws different exceptions
body: <p>I am trying to write some <code>C++</code> code (using the C++ API) for <code>Festival</code> and am getting stuck while trying to compile. Here is how I invoke <code>g++</code>:</p>
  
  <p><code>g++ -Wall -pedantic -I../ -I../speech_tools/include/ helloFestival.C -o h -L../festival/src/lib/libFestival.a -L../speech_tools/lib/libestools.a -L../speech_tools/lib/libestbase.a -L../speech_tools/lib/libeststrings.a |&amp; tee festival.runLog</code>
  The error I get is:  </p>
  
  <pre><code>In file included from ../speech_tools/include/EST.h:48,
                   from ../festival/src/include/festival.h:47,
                   from helloFestival.C:4:
  ../speech_tools/include/EST_String.h:50: error: declaration of ‘void abort()’ throws different exceptions
  /usr/include/stdlib.h:513: error: from previous declaration ‘void abort() throw ()’
  </code></pre>
  
  <p>The offending line in EST_String.h would be:<br>
  <code>extern "C" void abort(void);</code>  </p>
  
  <p>The <code>main()</code> function I have used can be found here: festvox.org/docs/manual-1.4.3/festival_28.html#SEC133</p>
  
  <p>The compilation and linking instructions given here are the ones I have used.</p>
  
  <p>I have looked this problem on the net and some of the solutions suggest that it maybe because of backward compatibility, or calling an abort() from within a destructor etc. My questions are:  </p>
  
  <ol>
  <li>How do I get rid of this?</li>
  <li>Why do I see this error?  </li>
  </ol>