What does "IRrecv" does not name a type mean?

What does "IRrecv" does not name a type mean on this code below?

#include <IRremote.h>

int RECV_PIN = A0; // Analog Pin 0
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}

void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
}

I suggest you look before that in the error list. I imagine you'll find

warning: IRemote.h: No such file or directory

You probably haven't installed the library correctly.

KenF:
I suggest you look before that in the error list. I imagine you'll find

warning: IRemote.h: No such file or directory

You probably haven't installed the library correctly.

I daresay you're right Ken, but I went through that loop (or should that be "hoops") with OP yesterday.

JimboZA:
I daresay you're right Ken, but I went through that loop (or should that be "hoops") with OP yesterday.

Ah OK, I'm not even familiar with that library. It's just the first thing I look for when I see that particular type of problem. It's either that or a typo.

Yeah there's another error he got too, I can't recall it at the minute, but there's a whole thread from yesterday or the day before about the library install.

OP has a habit, it seems, of having a number of threads open on the same thing, see for example the ones on servo/if/touch switch which are all related.