Problem with first library

Alright so i have been having a few problems with my first library. It is entitled Isobot and emulates IR codes through an IR led. My first problem is that it wont compile without putting #include<WProgram.h> into each sketch even tho #include “WProgram.h” is in the .cpp part of my library like the lib tutorial said to do. It seems to be a common problem but is it because I didnt write the library right or just a quirk i should get used to?

Second, the biggest reason I wrote this library for was to clean up my code and make it less cumbersome to modify. The core of each code/the library is a #defined list of an unsigned longs which represents each button code. I wanted to just be able to say Isobot.buttonwrite(rpunch) and the code translate that rpunch means the unsigned long which is #define rpunch 988160 without having to list 152 #defines at the beginning of each sketch. Any help?

nevermind, fixed both problems with help of a more code savvy friend. #defines needed to be in header, not .cpp. same with #include "WProgram.h"