I agree with @pajton, you need to adjust the expected Eclipse of the Cygwin binary path from c:\cygwin\usr\bin to c:\cygwin\bin , since the authors of Cygwin changed to the / usr / bin installation from the latter.
I needed to change the Eclipse addition of the Cygwin binary directory in PATH from c:\cygwin\usr\bin to c:\cygwin\bin in two places in the configuration of my Juno developer build 20120322-1740:
I also changed the shell interpreter path in the Compiler invocation command detection option from sh to c:\cygwin\bin\dash.exe ,
This made it possible to automatically fill in the include directories and built-in macros in Project Properties / C / C ++ General / Paths and Symbols.
Since only programs created by Cygwin, such as bash.exe , dash.exe allow portable symbolic links in the Cygwin style, I changed the compiler call commands from gcc to gcc-4 and from g++ to g++-4 .
Project Properties / C / C ++ Build / Settings / Tool Settings / Cygwin C ++ Compiler
Project Properties / C / C ++ Build / Settings / Tool Settings / Cygwin C Compiler
Project Properties / C / C ++ Build / Settings / Tool Settings / Cygwin C ++ Linker
Perhaps this will be done automatically, as I see a change in the git repository that needs to be resolved,
When I researched my problem, I went to Help / Install New Software ... / Juno / Programming Languages / C / C ++ Development Tools.
When I tried to update the selected fragment, I got an unclear message that the required update was required by other parts. When I clicked Finish, I received an invitation to restart. I do not know if my CDT updated these steps.
If you want to catch access violations at run time, create an external tool entry in Run / External Tools ... / Configure External Tools. Set c:\cygwin\bin\bash.exe as the program, ${workspace_loc:/PROJECT_NAME/CONFIG_NAME} , for example ${workspace_loc:/test/Release} , as the working directory and the command parameter followed by the name of the program, for example -c "./test.exe" in the arguments. I found that c:\cygwin\bin\dash.exe does not route the stack trace generated by the Cygwin DLL to stderr caught by Eclipse.