Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
I installed cygwin on two computers... and then i followed the gcc cross compiler tutorial but at the end of make all-gcc i get error 2 and i'm really confused
Having just cross compiled gcc 4.2.1 to target i586-elf from cygwin, I can assure you that the commands given in the wiki page do work. I used the recently released binutils 2.18.
In particular, have you 1) cross-compiled binutils? and 2) run the all important 'export PATH=$PATH:$PREFIX/bin' step after compiling (and installing) binutils.
If you follow all the instructions provided in the wiki page exactly you shouldn't have any problems. I.e. don't try compiling within the gcc source directory or anything like that.
As you're getting warnings from compiling main.c, and you're treating them as errors, main.c doesn't get compiled to main.o. Therefore its not unreasonable that ld can't find main.o.