title: Undefined symbol errors when linking of C++ project using Eclipse
body: <p>I compiled one C++ project which transplanted from another project, and there are some undefined symbol warnings while linking after compiled. The point is that these warnings are so strange. They are divided into 2 types:</p>
  
  <p>Type 1:</p>
  
  <pre><code>dld: warning: Undefined symbol **'__record_needed_destruction'** in file './xxx/xx.o'
  dld: warning: Undefined symbol **'__memzero'** in file './xxx/xyy.o'
  dld: warning: Undefined symbol **'__vec_delete'** in file './xxx/xyz.o'
  dld: warning: Undefined symbol **'__vec_new'** in file './xxx/yy/xxx/yyy.o'
  dld: warning: Undefined symbol **'__pure_virtual_called'** in file './xxx/zzz.o'
  </code></pre>
  
  <p>The key point is that these symbols were not used in the source code. What is exact means of there warings?</p>
  
  <p>Type 2:</p>
  
  <pre><code>dld: warning: Undefined symbol in file './xxx/x1.o', './xxx/x2.o', './xxx/x3.o':
      nothrow__3std
      **std::nothrow**
  </code></pre>
  
  <p>The source code is below:</p>
  
  <pre><code>ApplicationSystem* pApplicationSystem = **new(std::nothrow)** ApplicationSystem{
  .....
  .....
  }
  </code></pre>
  
  <p>The similar statements appear in 3 cpp files.Is there something wrong about the use of std::nothrow?</p>