2013年11月26日

MinGWとMinGW-w64は別の物……らしい

ある思いつきがあって、それが実現出来るのか確認する為に、 Win32 API を使ったコードを書いてる。

MinGWのgcc環境下で書いているのだが、Winternl.hが無いと怒られる。mingw32-w32apiパッケージを導入すればいいのかと思ったがそうでもない。

ググってみると、Rubinius開発者のIRCチャットログと思しき物がヒット。

00:08:29nattesrc/mutex.c:2:22: fatal error: winternl.h: No such file or directory
00:09:02nattestrange seems like the platform SDK is missing, thought that would come with VS Ultimate but I guess not
00:33:46brixenI think you're using mingw
00:33:51brixeninstead of mingw-w64
00:37:13natteoh crap
00:37:17natteyou are correct

どうも、MinGWとは別にMinGW-w64というプロジェクトがあって、そっちを使えばいいらしい。

個々のコンパイラ?Wolfram Mathematica 9 ドキュメント」曰く。

MinGW

CCompilerDriverパッケージはWindowsにおけるGCCのネイティブWindowsポートであるMinGW(http://www.mingw.org)について,Windowsプラットフォーム上でテストされている.このソースのMinGWは64ビットバイナリを生成しないことに注意されたい.この機能は汎用Cコンパイラのセクションに記載のMinGW-w64で提供される.

64ビットターゲット用MinGW

http://www.mingw.orgで入手できるコンパイラはWindowsの32ビットおよび64ビットの両方で動作するが,現時点では32ビットバイナリのみをコンパイルする.64ビットWolframライブラリを生成するためには,MinGW-w64(http://mingw-w64.sourceforge.netから入手可能)という別のプロジェクトを使う.

ううむ、MinGWとMinGW-w64が別物だという事は把握したが、何故、別になっているのか。MinGW-w64が(その名の通り)64ビット環境専用というのならば解るが、そういう訳でもないらしい。理由が分からんので若干モヤモヤする……

というか、導入するのが面倒くさいで御座る! MinGW関係のディレクトリにPATH通してるから、単純にインストールとPATH設定だけだと競合して変な事になるのが目に見えるてるで御座る!

タグ:gcc MinGW-w64 mingw
posted by 天井冴太 at 02:23 | Comment(0) | TrackBack(0) | Tool | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
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.
続きを読む
タグ:C++ Haskell GHC mingw
posted by 天井冴太 at 02:10 | Comment(0) | TrackBack(0) | Tool | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
2013年11月09日

2013年版気になる Advent Calendar リスト

ついにこの季節か……という訳で、個人的に気になった Advent Calendar をリストアップする試み。

続きを読む
タグ:advent_calendar
posted by 天井冴太 at 01:56 | Comment(0) | TrackBack(0) | Other | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。