title: KDevelop parser configuration is missing header files
body: <p>I am about to configure KDevelop (5.2.1) for a C++ project using CMake on Archlinux. Building my project in KDevelop as well as from the command line works but I hit several parser problems for code completion:</p>
  
  <ol>
  <li><p>In the beginning my includes of C++ standard library headers like</p>
  
  <pre><code>#include &lt;cstdlib&gt;
  </code></pre>
  
  <p>where not associated to the headers found at the default system include directories. I need to add those directories in Project->Open Configuration->Language Support->Includes/Imports:</p>
  
  <pre><code>/usr/include/
  /usr/include/c++/7.2.1/
  </code></pre>
  
  <p>For C headers it looks fairly simple. In case of C++ this seems nasty as it looks like it could change from time to time.</p>
  
  <p>Is there a more reliable and project independent way to perform this configuration?</p></li>
  <li><p>The parser misses some declarations in local header files dependent of the list of configured include directories. For example the <code>QuadMatrix</code> class is declared in <code>include/quadmatrix.h</code>. In the code</p>
  
  <pre><code>#include &lt;cstdlib&gt;
  
  #include "quadmatrix.h"
  
  
  QuadMatrix::QuadMatrix(int dimSize)
      : dimSize(dimSize)
  {
      data = (int*) std::malloc(sizeof(int) * 2 * dimSize);
  }
  </code></pre>
  
  <p><code>QuadMatrix</code> is an "undeclared identifier" for the parser when I configure the system include directories as in 1 . If I reset this configuration <code>cstdlib</code> and <code>std::malloc</code> are unknown but <code>QuadMatrix</code> is finally declared.</p>
  
  <p>I also tried to add the project include directory to the configuration but it did not change anything and it was not neccessary in the first place.</p>
  
  <p>Interestingly the editor advises me to add <code>#include &lt;quadmatrix.h&gt;</code> in both cases but this can't fix the problem either.</p></li>
  </ol>
  
  <p><strong>Edit:</strong>
  I found out that using <code>GCC</code> instead of <code>Clang</code> under Project->Open Configuration->Language Support->C/C++ Parser (right bottom corner) solves my problem and makes any of my include directory configuration unneccessary. So I guess KDevelop uses the clang parser (5.0) in a wrong way.</p>