Search code examples
c++eclipsewindows-7cygwineclipse-cdt

Configure Eclipse CDT to use g++


I have cygwin installed, and I want to use Eclipse with CDT for development under Windows 7. However, I get following error:

**** Build of configuration Default for project hello_cpp ****

make all 
g++ -O2 -g -Wall -fmessage-length=0   -c -o hello_cpp.o hello_cpp.cpp
process_begin: CreateProcess(C:\cygwin\bin\g++.exe, g++ -O2 -g -Wall -fmessage-length=0 -c -o hello_cpp.o hello_cpp.cpp, ...) failed.
make (e=5): Access denied.

make: *** [hello_cpp.o] Error 5

**** Build Finished ****
  • I'm able to use g++ as standalone compiler.
  • cygwin /bin folder is added to path.

After googling I found out that C:\cygwin\bin\g++.exe is a cygwin symbolic link and Windows doesn't understand it and I need to point to the g++-3 location directly. How do I do it?


Solution

  • I think you've done something wrong and need to start over again. Just installed Cygwin and Eclipse CDT (Indigo) on my Windows 7 and all works fine and auto-magicaly for me.

    Here's what I did and I think you need to do:

    1. Get the latest Cygwin (yes, get it again! get rid of the old one just to be sure)
    2. During the installation make sure to select gcc, gcc-g++ and make (I additionally installed couple of other things like gcc4, w32api but it's optional)
    3. Start Cygwin terminal to init all configuration files, etc. See if g++ executes and close the terminal.
    4. Add C:\cygwin\bin (or wherever else you installed it) to your Environment PATH variable
    5. Get Eclipse CDT, extract it somewhere and start it up.
    6. Go to File -> New Project -> C++ Project and select Hello World C++ Project. You should see the Cygwin GCC in the Toolchains list. enter image description here
    7. Create the Project, build and run it!

    Done!

    Build output:

    **** Build of configuration Debug for project TestApp ****
    
    make all 
    Building file: ../src/TestApp.cpp
    Invoking: Cygwin C++ Compiler
    g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/TestApp.d" -MT"src/TestApp.d" -o "src/TestApp.o" "../src/TestApp.cpp"
    Finished building: ../src/TestApp.cpp
    
    Building target: TestApp.exe
    Invoking: Cygwin C++ Linker
    g++  -o "TestApp.exe"  ./src/TestApp.o   
    Finished building target: TestApp.exe
    
    **** Build Finished ****