MinGWのgccがE:ドライブを探しに行って警告ダイアログが出る件
やー、久しぶりにmingw-get update; mingw-get upgradeとしてアップデートしたらはまりました。
mingw/msysを使ってる方は注意です。mingw64は セーフ。
詳細は以下
http://osdir.com/ml/MinGW-users/2013-10/msg00041.html
簡単に言うと「開発者のinclude設定がdefaultになっちゃってるから」です。
治し方
- USBとかさしたりしてE:をある状態にする。
- subst E: C:\hogehogeとかやる。確認してないけど多分いけるんじゃないかなー?
- Binary Patchをあてる。開発者の人が書いてたあれ。E:をC:とかに書き換えれば?ってやつ。うん。これは治る。
って事で3番目のBinary Patchをしてみた。
対象ファイル
Eドライブを使っちゃってるBinary一覧は以下。もれがあったら教えてくださいm(_ _)m
./bin/c++.exe<br /> ./bin/cc.exe<br /> ./bin/cpp.exe<br /> ./bin/g++.exe<br /> ./bin/gcc-ar.exe<br /> ./bin/gcc-nm.exe<br /> ./bin/gcc-ranlib.exe<br /> ./bin/gcc.exe<br /> ./bin/gcov.exe<br /> ./bin/mingw32-c++.exe<br /> ./bin/mingw32-cc.exe<br /> ./bin/mingw32-g++.exe<br /> ./bin/mingw32-gcc-4.8.1.exe<br /> ./bin/mingw32-gcc-ar.exe<br /> ./bin/mingw32-gcc-nm.exe<br /> ./bin/mingw32-gcc-ranlib.exe<br /> ./bin/mingw32-gcc.exe<br /> ./lib/libdxerr8.a<br /> ./lib/libdxerr9.a<br /> ./lib/libgmon.a<br /> ./lib/libmingw32.a<br /> ./lib/libmingwex.a<br /> ./lib/libscrnsavw.a<br /> ./libexec/gcc/mingw32/4.8.1/cc1.exe<br /> ./libexec/gcc/mingw32/4.8.1/cc1plus.exe<br /> ./libexec/gcc/mingw32/4.8.1/collect2.exe<br /> ./libexec/gcc/mingw32/4.8.1/lto-wrapper.exe<br /> ./libexec/gcc/mingw32/4.8.1/lto1.exe<br /> ./mingw32/lib/libdxerr8.a<br /> ./mingw32/lib/libdxerr9.a<br /> ./mingw32/lib/libgmon.a<br /> ./mingw32/lib/libmingw32.a<br /> ./mingw32/lib/libmingwex.a<br /> ./mingw32/lib/libscrnsavw.a<br /> ./mingw32/libexec/gcc/mingw32/4.8.1/cc1.exe<br /> ./mingw32/libexec/gcc/mingw32/4.8.1/cc1plus.exe<br /> ./mingw32/libexec/gcc/mingw32/4.8.1/collect2.exe<br /> ./mingw32/libexec/gcc/mingw32/4.8.1/lto-wrapper.exe<br /> ./mingw32/libexec/gcc/mingw32/4.8.1/lto1.exe<br />
基本的に上記のファイルの e:/p/ を c:/p/ 等と置き換えれば良いのですが、以下のファイルは e:/p も c:/p に置き換える必要があります。
※ なぜかは分かりませんが、細切れになってる文字列が一か所あるためです。
./bin/c++.exe<br /> ./bin/cc.exe<br /> ./bin/cpp.exe<br /> ./bin/g++.exe<br /> ./bin/gcc.exe<br /> ./bin/mingw32-c++.exe<br /> ./bin/mingw32-cc.exe<br /> ./bin/mingw32-g++.exe<br /> ./bin/mingw32-gcc-4.8.1.exe<br /> ./bin/mingw32-gcc.exe<br />
ってことでBinaryでパッチあてて やっと元通り動くようになりました、、、(パッチ必要な人は適当にコメントでもください)。
そのうち Officialがちゃんと直すと思うので、それまではE:に適当なドライブを見せておくのが一番簡単だと思います。
余談
この問題にからんでmingw64とか調べてみたんですが、C:/temp/…とかをdefaultで検索しにいくようになってました。
いいんすかね、、、?