you are right about the path's aspect. i have checked the path of the files being called and i nagivated to the exe to this folder.
C:\cygwin\opt\crosstool\i686-unknown-linux-gnu\gcc-2.95.3-glibc-2.1.3\bin
and set the compiler tool chain to the exes in this folder. i.e
Execution of 'i686-unknown-linux-gnu-gcc.exe -Wall -g -c D:/Aditya/cppnix/greet/main.c -o obj/Debug/main.o' in 'D:\Aditya\cppnix\greet' failed.
This cannot work, as the toolchain path is most likely unknown. You can (however), add the path to these executables into the toolchain options.
Settings -> compiler -> Toolchain executables -> tab "Additional paths", add
C:\cygwin\opt\crosstool\i686-unknown-linux-gnu\gcc-2.95.3-glibc-2.1.3\bin there, maybe others are needed, too.
However, I doubt this is the right way. I still believe Cygwin uses a wrapper (e.g. calling the default gcc with certain options) that actually invokes these cross compile tools.