Cygwinだといろいろコンパイルできて楽しいです.最近はWin32API関連でコンパイルしてウィンドウ作ったりして遊んでみてる.
gccでコンパイル
cygwin のgcc、最新のgcc4は、windowsをクロスコンパイルに移動させたので、色々面倒。とりあえず動かすには次のコマンドが早い
gcc-3 -mno-cygwin -mwindows -o test.exe test.cpp
gcc4の代わりに、昔からのgcc-3を使う
-mno-cygwin は cygwin 依存をなくす
-mwindows はwindows.hを使う
ために指定するらしいです。
リソースファイルは .oファイルに変換してから使う
gccは .o でリンクするらしいです
失敗例
gcc-3 -mno-cygwin -mwindows -o test.exe menu01.cpp menu01.rc /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/bin/ld:menu01.rc: file format not recognized; treating as linker script /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/bin/ld:menu01.rc:1: syntax error collect2: ld はステータス 1 で終了しました
普通にやるとリンカでこける.
windresコマンドでいったん、準備してからコンパイルする
windres -o menu01.o menu01.rc #menu01.oを作る gcc-3 -mno-cygwin -mwindows -o test.exe menu01.cpp menu01.o
これでコンパイル出来ました.細かいエラーや警告は出るけど,Win32をgccで試すにはこれ位で十分なのかな