2013年11月16日

MinGWとGHCは共存出来ないっぽい

あるC++プログラムをMinGWのGCCでコンパイルしようとしたら、吐き気がする程の大量のエラーメッセージが表示された。いやいやエラーになるにしてもこの量は有り得ないわ。何かが悪さしてるんじゃないか。

で、試しに超簡単なコード書いてコンパイルしてみようとしたらコケる。

> type test.cpp
#include <iostream>

int main(int argc, char *argv[])
{
		std::cout << "hello" << std::endl;
		return 0;
}

> gcc test.cpp
C:/Program Files/Haskell Platform/2012.4.0.0/mingw/bin/ld.exe: cannot open outpu
t file a.exe: Permission denied
collect2: ld returned 1 exit status

> g++ test.cpp
Info: resolving std::cout  by linking to __imp___ZSt4cout (auto-import)
c:/program files/haskell platform/2012.4.0.0/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: warning: auto-importing has been activated without --enable-auto-import specified on the command line.
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.

MinGWなのに何故か "Haskell Platform" の文字が。

> PATH
PATH=C:\Program Files\Haskell\bin;C:\Program Files\Haskell Platform\2012.4.0.0\lib\extralibs\bin;C:\Program Files\Haskell Platform\2012.4.0.0\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Haskell Platform\2012.4.0.0\mingw\bin;C:\Documents and Settings\AmaiSaeta\bin\mingw\bin;C:\Documents and Settings\AmaiSaeta\bin\mingw\msys\1.0\bin

"C:\Document and Settings\AmaiSaeta\bin\mingw" 以下がMinGWのインストール先。

成る程、GHCは内部にMinGW環境持ってて、それと競合してると。

しかしこれはどうした物だろう。MinGW関係のディレクトリをGHCのディレクトリより先に持ってくると、今度はGHC周りでトラブるのが目に見えてるし。GHC関係、またはMinGW関係のPATH設定をバッチファイルに抜き出して、必要になる直前に実行するというのは、流石にメンドクサイので避けたいんだけどなぁ。

というか、GHCMinGWを内部に抱えてるのに吃驚。

タグ:C++ Haskell GHC mingw
posted by 天井冴太 at 02:10 | Comment(0) | TrackBack(0) | Tool | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

コメント欄右下をドラッグ&ドロップすると、コメント欄の拡大縮小が出来ます。
認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/380344717

この記事へのトラックバック