How about running Vice?
Doesn't really solve the cross-compilation problem. Using a cross-compiler instead of an assembler on an (emulated) c64 is quite a bit handier, as you don't run into problems with the assembler hogging up precious memory on the c64 and you can use a decent editor.