compile error, please help!

hi, i got this error for bellow program, why? what is the problem?

======================
Arduino: 1.8.1 (Windows XP), Board: "Arduino/Genuino Uno"
collect2.exe: error: ld returned 5 exit status
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

============

byte a;
byte b = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  b = a++;
  Serial.print(b);
  delay (500);
}

I have a vague memory of collect2-error is because XP is no longer supported, but you could replace it with an older collect2.exe