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ランキング - 投票する
2013年10月16日

(10 - 5) "type" Command Examples to Manage Files in Windows

大分前になるけれど、上記の記事で、 Linux / Unix で用いられる「cat」コマンドの使われ方について紹介されていた。

catは、専らファイルの内容の出力に使われているイメージがある。しかし、catは「concatenate」(連結する)の略であり、本来はファイルを連結する為のコマンドだった(らしい)。

Linux / UNIX のcatに似たWindowsのコマンドとして「type」が在る。このtypeコマンドでも、上記記事で紹介された使い方の一部は実現出来る。以下でそれらを紹介する。

なお、typeはMS-DOSにも存在するが、そちらではどうかは確認していない(確認出来る環境が手元に無い)。


続きを読む
タグ:CLI SHELL CUI CMD tips
posted by 天井冴太 at 00:44 | Comment(2) | TrackBack(0) | Tool | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
2013年07月31日

PowerShellの起動時に指定したオプションを取得する(そして対話的な実行かどうかでモジュールを読み込むかどうか切り替える)

コマンドラインシェルの用途は2つ在る。対話的に処理させる場合と、バッチ処理させたい場合だ。バッチ処理用に起動した場合に、対話的環境での利用を想定した処理を行うのは無駄だ。例えばPowerShellでの場合、バッチ処理時にPowerTabモジュールを導入するのは意味がない。むしろ、その為の処理リソースを取られる事になるので、出来る限り避けたい。

続きを読む
タグ:PowerShell CLI tips
posted by 天井冴太 at 01:40 | Comment(0) | TrackBack(0) | Tool | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
2013年05月21日

Windows Script Host から Windows PowerShell へ

先日Windowsの環境変数について調べた際に、久しぶりにWSH用のJScriptを書いた。WSHMicrosoftが提供するWindows用のスクリプト実行環境だ。

WSHの利点はWindowsにプリインストールされているという事だ。Wikipediaに拠ると、 Windows 98 以降であれば確実に入っているという。(RubyPerl等とは異なり、)別途実行環境を用意する必要がないので、作成したスクリプトを配布する際にとても便利だ。

しかし、今となっては甚だ時代遅れで使いづらい。例えば配列の全要素を舐めるのに Array.forEach() が使えなかったり。現代のJavaScriptに触れていると、「あれも無い、これも無い」という点が気になってしまう。

流石にこれではキツイ。そこで Windows PowerShell に目を付けた。PowerShellはMicrosoftが新たに開発したコマンドラインシェル環境だ。これがまぁ意外と良い感じ。 Windows 7 からはプリインストールされているらしいし、将来的には導入コストは0になるだろう。

勿論、WSHはスクリプト実行環境でPowerShellはシェル環境なので、単純に比べられる物ではない。WSHとcmd.exeを合わせたものと比べるべきなのかもしれない。今までこの2つで行っていた作業をPowerShellで行うようにしてみたが、今のところ問題は発生していない。

個人的には、ドライブの機能に注目している。ディスクアクセスに用いるドライブレターのような識別子を用いて、様々なデータへのアクセスを共通のコマンドで行えるようにした仕組みだ。例えば、カレントディレクトリ以下のファイル/ディレクトリの一覧はGet-ChildItemコマンドレットで取得出来るが、Envという名のドライブへ移動した後なら同じ方法で環境変数の一覧を取得出来る。この仕組みはコマンドラインシェル以外にも応用が利きそうだ。エクスプローラのようなファイラ風のインタフェイスを備えたソフトから様々なデータにアクセスしたり。

posted by 天井冴太 at 01:24 | Comment(0) | TrackBack(0) | Tool | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
2013年04月25日

Greasemonkeyの@grantメタデータの意義がよく分からない

amazon-bookmeter-link-adder.user.js ver1.01.20130425を作る時に、「@grant付けりーよー」とお猿さん怒られたので、"@grant - GreaseSpot Wiki"を読んでみたが、イマイチこのメタデータの意義が分からない。

どうもセキュリティ関係の機構のようだが、"If a script does not specify any @grant values, Greasemonkey will attempt to auto-detect the right settings."と書かれているし、自動判定するのに要るんだろうかこれ。

怒られた
しまった、キャプチャ取り忘れた。
タグ:greasemonkey
posted by 天井冴太 at 16:59 | Comment(0) | TrackBack(0) | Tool | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
2013年04月17日

TB: メンテナンスのお知らせ(2013年 4月17日実施)

メンテナンスのお知らせ(2013年 4月17日実施):Seesaaからのお知らせ

下記期間にメンテナンスを実施いたします。

(略)

期間

2013年 4月17日(水) 午前1時 から 午前6時 までを予定

メンテナンス終了時刻は、作業状況によって前後する場合がございます。

範囲

(略)

  • Seesaaブログで作成されたブログへのコメント投稿・トラックバック送信

とのことなので、よろしくお願いします。

タグ:blog Seesaa_blog
posted by 天井冴太 at 06:00 | Comment(0) | TrackBack(0) | Information | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
2013年04月16日

Windowsの環境変数の仕様についてメモ

以下、実際の挙動を確認したりMSDNのリファレンス読んだりプログラム書いてふむふむした結果。

確認には Windows XP SP3 を利用した。現在( Windows 8 )では、また少し仕様が変わっている可能性がある。過去( Windows 2000 以前、および Windows ME 以前)は仕様が異なっていた可能性もある。そういう意味で、正確性は保証しない。もし誤りがあったら、気軽に当記事のコメント欄やTBで指摘してほしい。

続きを読む
posted by 天井冴太 at 00:47 | Comment(0) | TrackBack(0) | OS | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
2013年03月13日

TB: メンテナンスのお知らせ(2013年 3月13日実施):Seesaaからのお知らせ

メンテナンスのお知らせ(2013年 3月13日実施):Seesaaからのお知らせ

下記期間にメンテナンスを実施いたします。

((略))

期間

2013年 3月13日(水) 午前1時 から 午前6時 までを予定

*メンテナンス終了時刻は、作業状況によって前後する場合がございます。

範囲

((略))

  • Seesaaブログで作成されたブログへのコメント投稿・トラックバック送信*2

((略))

*2
ユーザー様が作成されたブログは、メンテナンス期間中も閲覧出来る状態となっております(表示されづらい時間帯が発生する可能性はございます)。
posted by 天井冴太 at 06:00 | Comment(0) | TrackBack(0) | Information | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する

広告


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

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

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