Ha! Found it - it was the defines!
#define ssOutput 10
#define ss0 7 //MSB -> easy to plug a header into Arduino
#define ss1 6
#define ss2 5
#define ss3 4 // LSB
had ='s & ;'s in them.
I had changed them from this format for some reason, screwed things up.
byte ssOutput = 10;
If I change back to that now it compiles, ok. So I must have fixed whatever else I did.