You still don't compile header files. Header files don't, and shouldn't have executable code in them. They are for things like definitions, constants, function prototypes and such. If you have your own user written header file, you include it in your code with the following...
[tt]
#include "myheader.h"
[/tt]
The quotes make the preprocessor look for the header file exactly where you say, and not in the normal header directories.
The [tt]#include[/tt] statement causes the preprocessor to bring in the header file at that point, so it will be compiled when the module including it gets compiled.
Also, if you have executable statements in your header file, this should not be a header file. This is a misuse of what a header file is.
Hope this helps.