Installing Cygwin Compiler

From Code::Blocks

Attaching the compiler framework

Make sure that you have installed Cygwin at least with the GCC, G++ and GDB packages. This article describes the steps required to attach the GNU Cygwin Compiler suite.

In Code::Blocks under Settings->Compiler and debugger do the following:

  • Make a copy of the GNU GCC compiler as follows:
    • Goto menu "Settings" -> "Compiler"
    • Select the "GNU GCC Compiler", click the "Copy Button"
    • Save the copy e.g. under "Cygwin GCC Compiler"
  • Setup the compiler as follows:
  • Under the "Programs" tab:
    • point the path to your Cygwin installation folder
    • under "Additional path" add [Cygwin]\usr\X11R6\bin (if required)
    • under "Program files" setup the following for the executables:
      • C Compiler: gcc.exe
      • C++ Compiler: g++.exe
      • Linker for dynamic libs: g++.exe
      • Linker for static libs: ar.exe
      • Debugger: gdb.exe
      • Resource compiler: windres.exe
      • Make program: make.exe
  • Under the "Directories" tab make sure to adjust the include/lib path's:
    • tab "compiler" (notice the "\usr" in contrast to the linker):
      • add [Cygwin]\usr\include
      • add [Cygwin]\usr\X11R6\include (if required)
    • tab "linker" (notice the missing "\usr" in contrast to the compiler):
      • add [Cygwin]\lib
      • add [Cygwin]\usr\X11R6\lib (if required)
    • tab "Resource compiler"
      • add [Cygwin]\usr\include
      • add [Cygwin]\usr\X11R6\include (if required)
  • If you want to create pure (native) win32 applications that do not require the Cygwin DLL you may add the following:
    • tab "Compiler" -> tab "Other options": add the compiler switch: -mno-cygwin

-> Please notice that some programs you are developing require specific unix functionality / libs that is provided only through the Cygwin layer. In that case this switch has to be removed.

Troubleshooting

For troubleshooting enable the "Full command line" Under menu "Settings" -> "Compiler" -> "Other" tab, "Compiler logging". If you see that still the gcc compiler is invoked, make sure you setup the right compiler in the build options for your project AND your target (e.g. "default").