2014/01/16(木)clは環境変数PATHからインクルードファイルを探さない
2014/01/16 26:29
環境はWindows7(64bit), mswin32版Ruby 1.8(ActiveScriptRuby)。
gemで要コンパイルのライブラリ入れるときにコンパイルに失敗する。
c:\online\ruby\lib\ruby\1.8\i386-mswin32\win32/win32.h(31) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory NMAKE : fatal error U1077: 'C:\Windows\system32\cmd.exe' : return code '0x2' Stop.原因。mswin32版RubyはMS VC++をコンパイルに使用する。コンパイラCL.exeは環境変数"PATH"にINCLUDEファイルのディレクトリを記述していても見に行かない。
初歩的な話だが、ここんとこMS VC++コンパイラ触ってなかったのですっかり仕様を忘れていた。
対策は、環境変数INCLUDEに記述するか、/Iオプションで明記してやる。
gemの中いじるのめんどくさいので、eveで環境変数INCLUDEにディレクトリを追加した。
[参考]
/I (追加インクルード ディレクトリ)
そろそろbundler周りも覚えた方が良さそうだ。