Gentoo LinuxでMingwを使ったクロスコンパイル
crossdevをインストール
# emerge -v sys-devel/crossdev
/etc/make.confにPORTDIR_OVERLAYを追加
PORTDIR_OVERLAY="/usr/local/portage"
/usr/local/portageがない場合はディレクトリを作成
# mkdir /usr/local/portage
i686-mingw32の環境を構築
# crossdev --stable --target i686-mingw32
動作確認
次のようなサンプルコードをビルドしてみます。
mingw-sample.c
#include <windows.h>
int main()
{
MessageBox(NULL, "Hello world!", "Hello world!", MB_OK);
return 0;
}
ビルドは次のようにします。
$ i686-mingw32-gcc -mwindows -o mingw-sample.exe mingw-sample.c
$ i686-mingw32-strip mingw-sample.exe
ビルドしたファイルはwineで実行可能です。
$ wine mingw-sample.exe
もちろん、Windows環境に持って言って実行することもできます。

※strip
はなくてもかまいませんが、デバックに使われるデータを削除して、ファイルサイズを小さくしたい場合に使います。
関連記事
libgcc_s_dw2-1.dllがない
MinGWでビルドしたプログラムを実行して、
コンピューターに libgcc_s_dw2-1.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。
と表示される場合。
MinGWと一緒にインストールされたDLLを持ってきてもいいですが、スタティックリンクすることもできます。
$ c++ sample.c -m...
Failed to emerge cross-i686-mingw32/gcc-4.8.3
/var/tmp/portage/cross-i686-mingw32/gcc-4.8.3/work/gcc-4.8.3/libsanitizer/interception/interception_win.cc: In function ‘void __interception::WriteJumpInstruction(char*, char*)’:
/var/tmp/portage/...