Minimalistic GNU for Windowsとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Minimalistic GNU for Windowsの意味・解説 

MinGW

(Minimalistic GNU for Windows から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/06/30 09:41 UTC 版)

MinGW
開発元 MinGW project
初版 1998年7月1日 (25年前) (1998-07-01)
最新版
5.4.2 / 2021年4月12日 (3年前) (2021-04-12)
リポジトリ osdn.net/projects/mingw/scm/
対応OS Windows
後継 Mingw-w64
種別 開発環境
ライセンス BSD License / GNU General Public License (GPL) / Public Domain
公式サイト
テンプレートを表示

MinGW(ミン・ジー・ダブリュー、Minimalist GNU for Windows)はGNUツールチェーンGCCWindowsで利用できるようにする開発環境である。Windows APIのためのヘッダファイルを含んでおり、GCCでネイティブWindowsアプリを開発できる。MinGW自体はほぼ開発終了だが、後継のMingw-w64が積極的に開発されている。

MinGWプロジェクトは32ビット環境向けに主に2つのパッケージを配布している。ひとつはWindowsに移植したGCCで、コマンドラインIDEから利用できる。もう1つは軽量のUNIX風シェル環境であるMSYS (minimal system) である。端末エミュレータrxvtと開発ツールのautoconfを実行するためのコマンド群も含まれている。これらはCygwinをフォークして誕生した。

Win32 APIを利用するためのヘッダファイルはパブリックドメインで提供されている。GNUツールの移植版はGPLライセンスである。これらはMinGWの公式サイトより入手可能である。

名称の由来

MinGWの名称はMinimalist GNU for Windows(Windowsのための最小限度のGNU)を表す。Win32 APIのためのヘッダーを提供するのでMingw32とも呼ばれる。発音は未だ決定されていないが一般的には、"ming wee"、"min gee double-u"、"ming double-u" または "min gnu" などのように発音されている。

特徴

MinGWとMSYSの両者を合わせても軽量である。これらは自身で完結可能な環境であるため、リムーバブル・メディアから使用することも可能である。コンピュータのレジストリやファイルに影響を与えない。Cygwinはより多くの機能を提供するためにインストールが必要であり、その後の管理も複雑である。

Linuxなど非Windows OS上でのクロスコンパイルにも対応しており、Windows OSを利用せずにWindows アプリを開発できる。

Cygwinとの比較

MinGWはCygwin 1.3.3からフォークした。両者はいずれもUNIXソフトウェアをWindowsへ移植することを目的にするが、異なる方針を採っている。

CygwinはWindows上に完全なPOSIX層を提供することを目標にしており、互換性のために必要であれば性能も犠牲にしている。その一方で、MinGWはコンパイラと各種ツールのみを提供し、性能を重視している。換言するとMinGWはPOSIX APIを提供していない。このため、Cygwinではコンパイル可能だが、MinGWでは不可能なUNIXアプリケーションが存在する。具体的には特定のPOSIXの機能を要求する、又は、POSIX環境を前提とするアプリケーションである。この問題を回避するためには、cygwin1.dllの関数を利用する、またはeC(Ecere SDK)英語版SDLwxWidgetsQtGTKgnulibのようなプラットフォーム非依存のライブラリを使用する方法がある。

MinGWとCygwinは標準Cライブラリをはじめとして異なるライブラリを使用している。前者はマイクロソフトから提供されるライブラリであるmsvcrt.dllを用い、後者はPOSIX互換の為に独自のDLL (cygwin1.dll) を用いている。Cygwinでコンパイルしたプログラムを配布する場合、利用者はこの独自ライブラリ(ランタイム)も必要となる。これはソフトウェアと共に配布できるが、ソフトウェアはオープンソースライセンスに準拠する必要がある[1]。MinGWでも、MSYSのライブラリ(msys-1.0.dllやmsys-z.dll)をリンクしている場合、同様の制限 (GPL) を受ける[2]

その他移植時の注意として、MinGWではネットワークプログラミングの read/write をrecv/send に置き換える必要がある。これはWindowsのsocketがWinsockであり、POSIXと異なるためである。単なるツールチェーンであるMinGWでは、この置き換えは今後も必須である[3][4]

CygwinでMinGW用プログラムの開発が可能であった。CygwinのGCCでは gcc-3 までオプション "-mno-cygwin"があり、これを渡すとMinGWのヘッダファイルとランタイムライブラリを用いてバイナリが作成された。gcc-4からはオプションが削除されている。代替として、Cygwin用のGCCとは別にMinGW用のGCCがクロス開発用のコンパイラとして提供されるようになった。2020年4月現在のCygwin(64ビット版)では、gcc-coreがCygwin用、mingw64-x86_64-gcc-coreがMinGW用である(正確には派生プロジェクトのMingw-w64)。

Cygwin用GCCが /usr/bin/gcc.exe であるのに対して、MinGW用GCCは /usr/bin/x86_64-w64-mingw32-gcc.exe のようにコマンド名のプレフィックスとして"x86_64-w64-mingw32-" が付く。その他の付随するツールチェイン(cppやldなど)も同様である。Autotoolsによる configure && make を行う際は、configure に --host=x86_64-w64-mingw32 オプションを与えることでMingw-w64によるビルドを行うことができる。

ライブラリの依存関係は"objdump -p ファイル名" で見ることができる。

クロス開発環境

MinGWのバイナリはLinux上でも開発することができる。Wineを使ってテストを行うことが簡便である。RPMファイルは次のページから取得することができる:[2]Fedoraでは以下のSIGが立ち上がっている:[3]クロスコンパイル環境でドライバを作るための注意点などは、以下の記事も参考になる:[4]

MinGWで作成出来るアプリケーション

  • Git分散バージョン管理システム
  • Windows PV driver for Xen(準仮想ドライバ)
  • Source Navigator(統合開発環境・ソース解析ツール)
  • Ecere SDK(C言語上位互換オブジェクト指向言語であるeC言語、統合開発環境、GUIや3Dライブラリなどを中心に構成されたクロスプラットホームのソフトウェア開発キット)

64ビット向け開発環境

MinGWプロジェクトでは64ビット環境向けのコンパイラセットは提供されていない。mingw.org から2007年にフォークしたMingw-w64[5]とMinGWプロジェクトのMSYSを組み合わせれば構築できる。

その他

MinGWの開発環境としてはMSYSが標準であるが、その他にもEclipseDOSプロンプト、CLionで開発することもできる。

Intel Threading Building Blocksも、将来的にはMinGWでコンパイルできる見込みである[6]

関連項目

出典

外部リンク

環境構築事例


「Minimalistic GNU for Windows」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

Minimalistic GNU for Windowsのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Minimalistic GNU for Windowsのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのMinGW (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS