Do I always need this cygwin1.dll to load such an external, and where should cygwin1.dll be ?
AFAIK, you will always need the cygwin.dll ..unless there is a compiler switch for cygwin. You might try compiling with mingw. I think you can also do this under the cygwin environment. Another option, if you like IDE's, is to tryout the DevC++ IDE. It used mingw gcc as the compiler.
If you get any of those up and running, I'd love to hear about it. It's been on my todo list for over a year.
best -august.