title: Which type of #include ("" or <>) when writing a library in C/C++
body: <p>I am writing a library in C++. The library has multiple headers and cpp files and needs to be cross platform (Windows Visual Studio and Linux gcc). When built the library and headers are installed in a system directory somewhere, where they can be found by other code on the same machine (e.g. /usr/local on a Linux system).</p>
  
  <p>If one of my headers needs to #include one of my other headers then should I use angle brackets or quotes?</p>
  
  <p>I feel like angle brackets is what should be used once the library is installed so that system directories are checked, but when building the library I need to use quotes so that local directories are checked and I don't pick up an out of date version from the system directories.</p>
  
  <p>I am aware ow what the different versions of <code>#include &lt;filename&gt;</code> and <code>#include “filename”</code> mean. I am asking which is appropriate and why, for the situation of writing a library.</p>