Vista上でのMinGWとのたたかい
2007.10.15 |Category …Computer
mingwでgccがなんだか動作しなかった件について。
備忘録的に。
※もしこの記事を参考に設定をしようとしている方がいらっしゃいましたら、一応最後まで読んでから設定をはじめたほうが良いかもしれません。
コンパイル対象ファイルは、
hello world
って出力するやつ。
最初は、msysではgcc見つけてるのに、
コマンドプロンプトからgccは存在しないと言われるエラー。
これは、なんと環境変数PATHに間違ったパスを書いていたというお粗末なもの。
※VistaにMinGWを入れる場合、msysのbin、MinGWのbinをPATHに設定して、
なおかつGCC_EXEC_PREFIXなる環境変数を用意してMinGWのルートを設定しなけりゃならないらしい…。
今度は、cc1だかなんだかが見つからないといわれたので、
そこにパス通して解決。
(pass-to-mingw/libexec/gcc/mingw32/3.4.2/)
そしたら今度はインクルードファイルが見つからないとかなんとか。
で、それはC_INCLUDE_PATH(とCPLUS_INCLUDE_PATH)なる環境変数を設定。
(pass-to-mingw/include;pass-to-mingw/lib/gcc/mingw32/3.4.2/include、
CPLUSはそれに追加で→
pass-to-mingw/include/c++/3.4.2;pass-to/mingw/include/c++/3.4.2/mingw32)
で。
まだ続いて、こんどはld.exeからのcrt2.oがないとか、
crtbegin.oがないとかの文句連発。
これは、コンパイル対象ファイルにcrt2.oとかを入れてやれば文句はないみたいなんだけど、なんか気持ち悪いし、
上記2つ以外にも文句があったみたいで、
きりがない感じ。
ここでどうしようどうしようとぐーぐる先生に相談するも、
あんまり芳しい答えが返ってこないんだよね…。
-vオプションつけて、コメント見てみると、
ignore nonexistent directory .....(うろ覚え)
とかなんとかいうメッセージが出てきてるみたい。
やっぱり原因はファイルが探せていないことにあるみたい。
で。
結論だけ言うと、
cドライブ直下にMinGWおいたら解決した。
それまでは、cドライブ直下には自分のインストールした
(いろいろ中身のファイルとかいじったりしたい)プログラム用のディレクトリ用意して、
その中にMinGWもMSYSもおいておいたのです。
何が原因なのかはなぞですが、それだといけないらしい…。
まぁ動いたのでいいんですけどね…
備忘録的に。
※もしこの記事を参考に設定をしようとしている方がいらっしゃいましたら、一応最後まで読んでから設定をはじめたほうが良いかもしれません。
コンパイル対象ファイルは、
hello world
って出力するやつ。
最初は、msysではgcc見つけてるのに、
コマンドプロンプトからgccは存在しないと言われるエラー。
これは、なんと環境変数PATHに間違ったパスを書いていたというお粗末なもの。
※VistaにMinGWを入れる場合、msysのbin、MinGWのbinをPATHに設定して、
なおかつGCC_EXEC_PREFIXなる環境変数を用意してMinGWのルートを設定しなけりゃならないらしい…。
今度は、cc1だかなんだかが見つからないといわれたので、
そこにパス通して解決。
(pass-to-mingw/libexec/gcc/mingw32/3.4.2/)
そしたら今度はインクルードファイルが見つからないとかなんとか。
で、それはC_INCLUDE_PATH(とCPLUS_INCLUDE_PATH)なる環境変数を設定。
(pass-to-mingw/include;pass-to-mingw/lib/gcc/mingw32/3.4.2/include、
CPLUSはそれに追加で→
pass-to-mingw/include/c++/3.4.2;pass-to/mingw/include/c++/3.4.2/mingw32)
で。
まだ続いて、こんどはld.exeからのcrt2.oがないとか、
crtbegin.oがないとかの文句連発。
これは、コンパイル対象ファイルにcrt2.oとかを入れてやれば文句はないみたいなんだけど、なんか気持ち悪いし、
上記2つ以外にも文句があったみたいで、
きりがない感じ。
ここでどうしようどうしようとぐーぐる先生に相談するも、
あんまり芳しい答えが返ってこないんだよね…。
-vオプションつけて、コメント見てみると、
ignore nonexistent directory .....(うろ覚え)
とかなんとかいうメッセージが出てきてるみたい。
やっぱり原因はファイルが探せていないことにあるみたい。
で。
結論だけ言うと、
cドライブ直下にMinGWおいたら解決した。
それまでは、cドライブ直下には自分のインストールした
(いろいろ中身のファイルとかいじったりしたい)プログラム用のディレクトリ用意して、
その中にMinGWもMSYSもおいておいたのです。
何が原因なのかはなぞですが、それだといけないらしい…。
まぁ動いたのでいいんですけどね…
PR
●Thanks Comments
●この記事にコメントする
●この記事へのトラックバック
TrackbackURL: