nDiki : MinGW
MinGW - Minimalist GNU for Windows
Windows 用 GCC および関連ユーティリティ、ヘッダファイル、ライブラリのセット。
POSIX/Bourne configure スクリプトを実行して Makefile を生成するのに必要なコマンドについては、MSYS を使用する。
Debian パッケージ
- mingw32
- mingw32-binutils
- mingw32-runtime
スポンサード リンク
Related term
2004年7月24日 (土)
■ Windows 用 GNU Make

Windows だと nmake がやっぱり主流だろうか。 しかし GNU Make とは違う点が多く、使い分けるのも面倒。 かといって Ant というのも面倒。
ということで気軽に使える Windows 用の GNU Make を探す。 Cygwin 版は共同作業者に入れてもらうのが面倒なので却下(Makefile から呼ばれるコマンド群もLinuxと同様のものが入るのでこちらの方が便利といえば便利ではあるのだが)。
MinGW版が 3.80 をポーティングしているし単体でも動きそうなのでこれを試してみることにする。
mingw32-make-3.80.0-3.exe を取ってきて実行。make そのものだと思っていたがマニュアル等を含むインストーラだった。 一旦インストールして、mingw32-make.exe をコピーしてアンインストール。 mingw32-make.exe 単体で動作するので取り扱いが楽でよい(必要なら make.exe にでもリネーム)。
Windows 特有の問題があるかどうかは今後使ってみてチェックだな。
- ActivePerl で Ming (2005-02-23)
- OpenSSH for Windows (2004-08-05)
- Module::Build でソースパッケージング (2005-08-24)
- X-Deep/32 Xサーバ (2005-03-30)
- SCons は GNU Autotools のかわりになるか (2005-04-20)
2004年8月5日 (木)
■ Windows 用 GNU tar

この間 Windows 用の GNU Make として MinGW版を選択して、プロジェクトのドキュメントのビルドの自動化をすすめている。
しかし(最初からわかっていたのだが)make だけでは駄目で各ユーティリティがなくて結構不便。 touch すら無いし。 幸い全員の環境に ActivePerl が入っていることが前提になっているので、必要ならスクリプトを書いていけばある程度はなんとかなる。
今日は、プロジェクトで開発したPerl モジュールのソースアーカイブを自動的に一時ディレクトリに展開して pod2latex をかけてごにょごにょという処理の Makefile を書く。 さすがに tar が無いと無理だ (Archive::Tar を使うという手もなくはないが結局標準ではないし)。
@ GnuWin32
ということでGNU tarを探す。例によってインストール不要という条件で。
MinGW の中からは探せず。 GnuWin32 のものを使ってみる。 ついでに gzip も
- tar.exe (GNU tar tar-1.13-1-bin.zip)
- libiconv-2.dll (libiconv-1.8-1-bin.zip)
- libintl-2.dll (libintl-0.11.5-2-bin.zip)
- gzip.exe (gzip-1.3.5-bin.zip)
fork できないとかで tar の -z オプションが使えない。かなりがっかり。
@ texinst753 (W32TeX Web2C-7.5.3 簡易インストーラ)
あれ、gzip が最初からPATH上にあるなと思ったら、texinst753 に含まれていた奴。 GNU tar も入っている。 ちょっとバージョンが古めだけど -z も効くし、これが扱いやすいかも。
なにより他のプロジェクトメンバの Windows BOX にもそれぞれ入っているはずだし。
ということで GNU tar 確保。
- ActivePerl で Ming (2005-02-23)
- ActivePerl 5.8.9 build 825 + MinGW 5.... (2009-02-22)
- Template Toolkit (2004-09-08)
- TrueCrypt で USB メモリに Windows と Linux ... (2006-12-14)
- Module::Build でソースパッケージング (2005-08-24)
2005年2月23日 (水)
■ ActivePerl で Ming

ActivePerl で Ming を使えるようにしておきたい。
@ Visual Studio で
Ming 0.3 beta1 のソースパッケージには Visual Studio 6.0 用のプロジェクトファイルが含まれている。 Cygwin の Bison と flex があればライブラリをビルドできるようだ。 横着して Linux 側で bison と flex で生成したファイルをコピーして(それから unistd.h をインクルードしている部分を消して)、ビルドしてみたところ一応 lib ファイルは作成成功。
しかし ActivePerl 用にPerl モジュールの make は失敗。
@ MinGW + nmake で ActivePerl のモジュールをビルドできるらしい
調べたところ ExtUtils::FakeConfig を使うと Visual Studio が無くても MinGW + nmake でモジュールをビルドできるらしい(全てではないと思うが)。
ということで Ming を MinGW でビルドした後、そのまま ActivePerl 用モジュールの作成まで持ち込むことにしてみる。
@ MinGW + MSYS + GnuWin32 で開発環境を構築
コンパイルに必要な環境を MinGW で、configure に必要な環境を MSYS で用意する。
@ bison は GnuWin32 で
Ming のビルドに必要な Bison は MinGW、MSYS のインストーラに含まれていない。 bison-1.875.0-2003.02.10-1.exe というのが別途あるがうまく動かない。
ソースパッケージ(bison-2.0.tar.gz、bison-1.875.tar.gz)からはビルドできず。 MinGW/MSYSのプロジェクトにある bison-1.875-2003.02.10-1-src.tar.gz はビルドできるものの make check が通らない。
とうことで GnuWin32 の bison-1.875-4.exe (インストーラ形式)をインストール。 c:/usr/local/GnuWin32 にインストールした後、MSYS の /etc/fstab で /GnuWin32 にマウントし、/GnuWin32/bin に PATH を通しておく。
@ flex はソースパッケージから
flex-2.5.4a.tar.gz を展開して
./configure; make; make check; make install
インストール時ハードリンクが作れなくてエラーがでているようだが無視。
@ zlib (Ming で必要)
MSYS 上でビルドしてインストール。zlib-1.2.2.tar.gz を展開して
./configure; make; make check; make install
@ LibUnGif for Windows (Ming で必要)
MSYS 上でビルドしてインストール。 libungif-4.1.0b1-src.zip を展開して
rm config.cache; config.h内の-DHAVE_VARARGS_Hをコメントアウト。 ./configure; make; make install
make check はエラーが出るが無視。
@ libpng (Ming で必要)
MSYS 上でビルドしてインストール。libpng-1.2.8-config.tar.gz を展開して
CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure make; make check; make install
@ いよいよ Ming
MSYS 上でビルド。ming-0.3beta1.tar.gz を展開して
CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib make static
@ ActivePerl 用モジュール作成
ExtUtils::FakeConfig と PPM::Make で Ming の SWF PPM パッケージを作成する。 (MSYSのシェルではなく)コマンド プロンプトを開いて、Mingソースパッケージの中の perl_ext に移動。 MSYS、MinGW、nmake にPATHを通しておく。
それから Makefile.PL の実行で -lz を発見できないので、libz.a を Makefile.PL と同じディレクトリにコピーしてしまう(-L/usr/local/lib を指定しても効かなかったので)。 libpng.a、libungif.a も同じくコピーしておく。
Makefile を作成。Makefile.PL では -lz しか指定していないが、libpng と libungif も必要なのでコマンドラインオプションで指定する。ExtUtils::FakeConfig の Config_m を使用して MinGW を使用するようにする。
perl -MConfig_m Makefile.PL LIBS="-lpng -lungif -lz"
ここで生成される Makefile の中で libperl58.a を指定している部分があるが、ActivePerl では perl58.lib になるので、エディタで書き換え。 後はいつも通り
nmake nmake test make_ppm
で PPM パッケージ作成完了。
簡単なPerlプログラムでSWFファイルが作れる事を確認。 やった。
- ActivePerl をやめて Strawberry Perl へ (2009-08-25)
- ActivePerl 5.8.9 build 825 + MinGW 5.... (2009-02-22)
- Module::Build でソースパッケージング (2005-08-24)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- Windows 用 GNU tar (2004-08-05)
2005年3月30日 (水)
■ X-Deep/32 Xサーバ

Windows で Xサーバを使いたくなる衝動が時々やってくる。 今回は Linux 上の Firefox を Windows 側に表示させたいというのが希望。
Xサーバについては以前 Cygwin/X を試したりしたしてみたが、今は Cygwin 自体をアンインストールしてしまっている。今回は別のものを試してみることに。
@ Xming
MinGW を使っている。 設定は Cygwin/X とほぼ同じらしい。 Xサーバ以外は特に何もはいっていないし、これなら Cygwin/X を使った方が便利そう。
@ X-Deep/32 4.6.5
マルチウィンドウモード+ルートウィンドウ無しでXサーバを起動し、Linux BOX を許可するホストに追加。 Linux BOX 側から DISPLAY 環境変数か --display オプションを設定して Firefox を起動。 これで Windows 側に Firefox のウィンドウが表示される。
日本語は今のところ入力不可。表示はできる。
しかし1つのFirefoxから2つのDISPLAYに同時にウィンドウを出せないのか(別プロセスになってしまい、同じプロファイルを同時に使えない)。 これでは今回の目的は達成できず。
ちなみに X-Deep/32 はXクライアントのランチャもついているのだが、rsh か rexec による起動になる。ちょっと使えない。
- Linux で使えるデスクトップ検索ツール Beagle でローカルファイ... (2006-08-08)
- Windows 用 GNU Make (2004-07-24)
- ActivePerl で Ming (2005-02-23)
- 今日のさえずり - ダッフルコートを着ていた時期がぼくにもありました (2009-12-04)
- そろそろ Google Chrome を Windows のメイン Web... (2010-02-15)
2009年2月22日 (日)
■ ActivePerl 5.8.9 build 825 + MinGW 5.1.4 + PAR で Perl スクリプトを実行可能ファイルに

久しぶりに PAR の出番。 休日出勤して環境作り。
今回実行可能ファイルにしたい Perl プログラムが Perl 5.8 で開発・テストされているものの改訂版で、必要な PPM パッケージも 8xx 用に作りだめしてあるので、ActivePerl 5.8.9.825 上で行うことにした。
PAR::Packer は ActivePerl の build と合っていないとうまく動かないので、自分でソースからビルドして PPM パッケージ化する。 必要な依存モジュールのバージョンも軒並み上がっているので、それらもビルド。
今まで Visual Studio 6.0 でビルドしていたのだけれど、この間 PC をかえてから入れていなかったので、今回は MinGW を使うことにした。 SourceForge.net 上から g++ をダウンロードしてネットワークインストールできないようなので、そこだけ SourceForge.JP で探してきてインストール。
MinGW の bin ディレクトリを PATH に追加したら、特に問題なく Perl モジュールコンパイルできている。素晴しい。ExtUtils::FakeConfig 無くてもいいのかな。
- ActivePerl をやめて Strawberry Perl へ (2009-08-25)
- ActivePerl で Ming (2005-02-23)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- bundle を作成して Perl モジュールをまとめてインストール。 (2004-10-21)
- 自前 PPM リポジトリの管理 (2006-07-03)
2009年2月23日 (月)
■ 今日のさえずり - くるみマフィンの賞味期限が2月30日

@ 2009年02月21日
- 11:49 YouTube 見てたら Linux フリーズした。 *P3
- 11:53 リラックマストア東京駅店、昨日オープンか。 *P3
- 13:42 西安餃子の半個室。 [mb]
- 14:49 ズボン濡らしたのでイトーヨーカドーで新しいの買って着替え。 [mb]
- 18:50 今日買ったくるみマフィンの賞味期限が2月30日だった。で、ハリマヤさんいったい賞味期限はいつなの? [mb]
- 20:34 昼のエビチリ、2度辛いがきたっぽい。 *P3
@ 2009年02月22日
- 09:47 シェーキーズってまだあるんだ。最後にランチの食べ放題食べたのいつだろう。もう今行っても、もとを取れないだろうけど久々に食べたい。 [mb]
- 09:55 @nakameP えーっ、シェーキーズってそんなに進化してたんですか。最後に行ったのは15年以上前かなあ。学生にはあのチープ感でも満足でした。 [mb]
- 10:25 出社。 *P3
- 10:53 JUDE/Server 2010年2月末日をもってバージョンアップ終了か。需要少なかったのかなあ。 *P3
- 11:41 メモ用にと名刺入れに名刺サイズ方眼情報カードをずっと忍ばせていたんだけれど、基本 RHODIA 持ち歩く習慣がついているので使ったためしがない。かさばるだけなので捨てる。 *P3
- 14:43 MinGW 5.1.4 インストール。 *P3
- 15:41 SourceForge.net から MinGW の g++ がダウンロードできないので、そこだけ SourceForge.JP から取ってきてようやくはいった。 *P3
- 17:45 PAR-Packer の nmake test をかけると、Norton Internet Security がしゃしゃり出てくる。 *P3
- 18:11 ようやく PAR-Packer の nmake test が終わった。 *P3
- 19:12 斜め向かいのちょっとバーコード始まっているおじさんがポータブル MD プレーヤーの外付けバッテリのネジにずっと苦戦している。カチャカチャ。 [mb]
- 22:53 目が尋常なく痒い。 *P3
@ 2009年02月23日
- 12:59 PAR における DLL ファイルのファイル名の大文字小文字問題に翻弄されていた。 *P3
- 13:02 PDL 今もきちんとバージョンアップしているんだな。ちょっと安心。 *P3
- 19:02 納期間近の仕事集中的にやっていたけれど、そろそろルーチンワークもやっておかないとヤバい。 *P3
- 20:27 さて帰る。 *P3
- 20:44 切ない……。会社にマスク忘れてきた。 [mb]
- 20:53 モバツイ不調なので久しぶりに PC2M 経由で本家。
- 21:38 そろそろ RPG のアイテムに花粉症の薬が出てきてもいい頃。 *P3
- 今日のさえずり - ミニパトに男性警官が乗っているとガッカリする (2009-11-26)
- PAR で DLL ファイルをロードできなかったら大文字小文字を疑え (2009-02-23)
- PAR を ActivePerl 5.6.1 build 638 に (2004-07-20)
- Evernote 使用開始 (2009-03-03)
- 今日のさえずり - 入り口に盛り塩? (2010-02-15)
2009年8月25日 (火)
■ ActivePerl をやめて Strawberry Perl へ

ActivePerl 5.10.0.1005 + Visual Studio 2005 SP1 上で PAR::Packer を使って実行可能ファイル化したものの、今日別の環境で動かしたら「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした」というエラーがでてしまった。
今まで Visual Studio 6.0 で PPM パッケージの作成やら PAR::Packer による実行可能ファイル化をしていたので気がつかなかったのだが、調べてみると Visual Studio 2005 以降だとどうもいろいろ面倒らしい。
ActivePerl + PPM パッケージだと自分で PPM リポジトリを用意しておくことで、開発環境の統一が楽になるという利点があったのだけれどもしばらく一筋縄ではいかなさそうなので、別の Perl ディストリビューションを使ってみることにした。
Windows 上の Perl としてしばらく使ってみることにしたのは Strawberry Perl。現在のバージョンは 5.10.0.6。 以前にもちょっと入れてみたことはあったけれども、きちんと使ってみるのは初めて。
MinGW や dmake が同梱されており、CPAN.pm を使って UNIX 上と近い感覚で Perl モジュールのインストールができる。 PAR::Packer を使って実行可能ファイル化した Perl スクリプトも実行できることを確認。
しばらく乗り替えてみることにする。
- ActivePerl で Ming (2005-02-23)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- ActivePerl 5.8.9 build 825 + MinGW 5.... (2009-02-22)
- bundle を作成して Perl モジュールをまとめてインストール。 (2004-10-21)
- 自前 PPM リポジトリの管理 (2006-07-03)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.030098s / load averages: 0.13, 0.07, 0.03
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




■ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。
■ Google Buzz はよろしければ Naney の Google プロフィールからどうぞ。