ちょっと前に使えないとか言ってたけど(OMakeが使えない? - もうカツ丼でいいよな)よく調べて面倒なことをやったらできた。
やること
VC++に付いているclはそのまま呼んでもmspdb80.dllが無いとか言われて使えない。コマンドプロンプトからclと叩いてコンパイルできる状態にするにはC:\Program Files\Microsoft Visual Studio 9.0\Common7\Toolsに入っているvsvars32.batというバッチファイルを実行すればいい。けどコマンドプロンプトを開く度にやらないといけないのでOMakeからclを呼ぶべく色々やっても多分コケる。
なので、vsvars32.batの中身を見て、vsvars32.batが設定する環境変数を全て設定してしまう(参考:http://risky.cs.inf.shizuoka.ac.jp/~noguchi/index.php?tips%2Fmecab#n6bc67dd)。
- PATH: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN;C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\VC\VCPackages;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
- INCLUDE: C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include
- LIB: C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB;C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib
- LIBPATH: C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB
ふおおおお…
まあとにかくこれで無事にOMakeが動くようになる。
例えばhello.cppというファイルがあったとして、同じディレクトリ内でomake --installを実行、出てきたOMakefileに例えば次のように書いておく。
CXXFLAGS += /EHsc .DEFAULT: $(CXXProgram hello, hello)
これで、あとはコマンドプロンプトなり何なりからomakeすればコンパイルされるし、omake -Pすれば継続監視してくれる。
結局gccを使う方法は分からないけどまあいいや。