Code::Blocks and Cross Compilers
This Document will describe howto setup Code::Blocks to use it with a cross compiler. The idea is to create a easy way to develop Software under a platform such as Linux, and create executable for another platform e.g. Windows without booting to the native Operating System.
Linux -> Windows
This will describe howto setup your Linux Box to compile your Code for the Windows platform. Depending on your Distribution the installation of the needed packages can differ. My favorite Distribution is Ubuntu, so this Howto will be Debian like.
Install mingw32 package
First we will need the mingw32 package wich is the cross compiler with some other tools. On my Ubuntu 6.06 i had to enable the universe packages to find it
apt-get install mingw32 cp /usr/bin/i586-mingw32msvc-* /usr/i586-mingw32msvc/bin/
After installation your system is already able to compile some small c/cpp source files wich can be used directly under Windwos. Under Ubuntu 6.06 the mingw32 bin files are located in the /usr/bin directory. You will have to copy some of them to another directory, to make things work easier in Code::Blocks later.
Setup Code::Blocks to use the Cross Compiler
To let Code::Blocks know about your cross compiler you have to create a new compiler profile. Go to Settings->Compiler and Debugger Settings and create a copy of the current selected compiler. Type in a Name for the new profile e.g. cross_linux and hit enter.
Now you will have to change some directorys for the new cross compiler. You will need to setup the directories for Compiler, Linker and Resource Compiler. For every entry you have to put: /usr/i586-mingw32-msvc. The pictures below show how it should look like.
The last step is to tell Code::Blocks where and what your cross compiler binaries are. Just select the direcotry where you have copied all the compilers binaries ( /usr/i586-mingw32-msvc/ ) and setup the executables as shown in the picture below.
Now you can start a new or open an existing project and if you want to make a cross compilation for Windows platforms just go to Project->Build Options and select your cross compiler. Remember that you will have to Rebuild the hole project. You can test your build with wine if it is a real Windows application.