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
./bin/cc.exe
./bin/cpp.exe
./bin/g++.exe
./bin/gcc-ar.exe
./bin/gcc-nm.exe
./bin/gcc-ranlib.exe
./bin/gcc.exe
./bin/gcov.exe
./bin/mingw32-c++.exe
./bin/mingw32-cc.exe
./bin/mingw32-g++.exe
./bin/mingw32-gcc-4.8.1.exe
./bin/mingw32-gcc-ar.exe
./bin/mingw32-gcc-nm.exe
./bin/mingw32-gcc-ranlib.exe
./bin/mingw32-gcc.exe
./lib/libdxerr8.a
./lib/libdxerr9.a
./lib/libgmon.a
./lib/libmingw32.a
./lib/libmingwex.a
./lib/libscrnsavw.a
./libexec/gcc/mingw32/4.8.1/cc1.exe
./libexec/gcc/mingw32/4.8.1/cc1plus.exe
./libexec/gcc/mingw32/4.8.1/collect2.exe
./libexec/gcc/mingw32/4.8.1/lto-wrapper.exe
./libexec/gcc/mingw32/4.8.1/lto1.exe
./mingw32/lib/libdxerr8.a
./mingw32/lib/libdxerr9.a
./mingw32/lib/libgmon.a
./mingw32/lib/libmingw32.a
./mingw32/lib/libmingwex.a
./mingw32/lib/libscrnsavw.a
./mingw32/libexec/gcc/mingw32/4.8.1/cc1.exe
./mingw32/libexec/gcc/mingw32/4.8.1/cc1plus.exe
./mingw32/libexec/gcc/mingw32/4.8.1/collect2.exe
./mingw32/libexec/gcc/mingw32/4.8.1/lto-wrapper.exe
./mingw32/libexec/gcc/mingw32/4.8.1/lto1.exe

基本的に上記のファイルの e:/p/ を c:/p/ 等と置き換えれば良いのですが、以下のファイルは e:/p も c:/p に置き換える必要があります。
※ なぜかは分かりませんが、細切れになってる文字列が一か所あるためです。

./bin/c++.exe
./bin/cc.exe
./bin/cpp.exe
./bin/g++.exe
./bin/gcc.exe
./bin/mingw32-c++.exe
./bin/mingw32-cc.exe
./bin/mingw32-g++.exe
./bin/mingw32-gcc-4.8.1.exe
./bin/mingw32-gcc.exe

ってことでBinaryでパッチあてて やっと元通り動くようになりました、、、(パッチ必要な人は適当にコメントでもください)。
そのうち Officialがちゃんと直すと思うので、それまではE:に適当なドライブを見せておくのが一番簡単だと思います。

余談

この問題にからんでmingw64とか調べてみたんですが、C:/temp/…とかをdefaultで検索しにいくようになってました。
いいんすかね、、、?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.