わたなべです。

Mitsuo Igarashi <mitsu5 / ruby.famille.ne.jp> writes:

> mingw-runtime は入っていましたので、".bashrc"の
> export C_INCLUDE_PATH=/usr/include/mingw:/usr/include
> のところの
> mingw の順番が後ろであったのを前に持って来ましたらここは
> 綺麗にパスしました。

根本的にC_INCLUDE_PATH, GCC_EXEC_PREFIX, LIBRARY_PATHといっ
た環境変数を設定する必要はないはずです。むしろ何が原因かわか
らなくなるのでやめましょう。

> ところが、ext に入ってたちまち以下のようになりました。
> compiling win32ole
> compiling tk
> make[1]: 入ります ディレクトリ `/rubysnapshot/mingw/ext/tk'
> gcc -mno-cygwin -DIMPORT -O2  -I. -IF:/cygwin/rubysnapshot/mingw -IF:/cygwin/rubysnapshot -IF:/cygwin/rubysnapshot/ext/tk   -c /rubysnapshot/ext/tk/tkutil.c
> In file included from F:/cygwin/rubysnapshot/defines.h:120,
>                  from F:/cygwin/rubysnapshot/ruby.h:22,
>                  from /rubysnapshot/ext/tk/tkutil.c:11:
> F:/cygwin/rubysnapshot/win32/win32.h:32:21: windows.h: No such file or directory
> F:/cygwin/rubysnapshot/win32/win32.h:33:21: winsock.h: No such file or directory

windows.hがあるディレクトリが無視されてるところを見ると、や
はり環境変数があやしい気がします。まずはunsetしてください。
その後で
  % touch a.c
  % gcc -mno-cygwin -v -c a.c 2>&1 |sed -n '/^#include/,/^End/p'
と実行してみてください。gccがどこを見るかわかります。

-- 
わたなべひろふみ