title: When is a header file required for using a static library?
body: <p>If I create a static library in C++ in Linux such that a ".a" file is produced, how do I (or anyone else) use the library?  For example, my library defines a class.  I assume that it is not sufficient merely to provide the ".a" file, but also to provide a header file.  How do I know what header files must be provided with the ".a" file?</p>
  
  <p>For example, do I need to provide all header files that were included anywhere in the code for my library?</p>