上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
開発/toolchain/MinGW
をテンプレートにして作成
資料室
開発/toolchain/MinGW をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
*MinGWとは
MinGW(Minimalist GNU for Windows)は,GNUの開発ツール(g...
MinGWはWindows APIのためのヘッダファイルを含んでおり,フ...
コマンドラインから使用することも,各種IDEへ統合することも...
またMinGWのシェル環境というべきMSYS(minimal system)とい...
これには端末エミュレータや開発ツールのautoconfを実行可能...
標準はたぶんMSYSなんだろうが,EclipseやDOSプロンプト上で...
MinGWでコンパイルしたプログラムは,Windowsの標準Cライブラ...
MinGWとMSYSのパッケージは,Cygwinからフォークして誕生した...
MinGWはクロス開発環境としても利用でき,これによりマルチプ...
なお,MSYS・MinGWはフリーソフトウェアで,Win32APIを利用す...
MSYSとMinGWを両方合わせてもファイル容量は比較的小さいので...
Windowsシステムのレジストリなどを全く使用しないので,イン...
''MinGWはWindowsで動作する32bitアプリを作成のためのツール...
またMSYSをより新しくしたMSYS2がリリースされている。~
WindowsマシンでMinGWを利用する場合,MinGW(32bitアプリ開...
* MSYS/MinGWのインストール
''MSYS/MinGWは古いパッケージで,32bitアプリのみ作成できる...
64bitアプリを作成したい場合は,後述の''Mingw-w64''をイン...
まだMSYS/MinGWをインストールしてない場合は,''より新しい[...
理由は以下のような理由がある。~
- MSYS2がMSYSより新しい~
- MSYS2はパッケージ管理ツールpacmanで,インストールするパ...
- Git for WindowsはMSYS2を使用している~
- Rubyの一部のgemをコンパイルするためにDevkitを使うが,De...
** MSYS/MinGWのインストール(32bit版)
http://sourceforge.net/projects/mingw/ のページにある緑色...
そのダウンロードしたインストーラーを実行する。~
-Repository Catalogues~
Use pre-packaged repository cataloguesを選択する。
-インストールするディレクトリ先の設定~
デフォルトは,「C:\MinGW」。スペースとか日本語は使わない...
-Select Components
C Compier,C++ Compiler,MSYS Basic System,MinGW Develop...
-Installを押して,インストールを実行する。
Finishで終わり。
ちなみに,GCCのバージョンは,6.3.0です。
//**MinGWのインストール(64bit版) [#r0221182]
//
//32/64bit共用のWindows向けMinGWもある。まだインストーラ...
//
//-配布サイトから,書庫化パッケージをダウンロード http://...
//-C:\MinGWあたりに解凍する~
//mingw-w64-bin_x86_64-mingw_20111101_sezero.zipをC:\MinG...
//-シェルなど必要な一式が同梱された「MSYS」をインストール...
//http://sourceforge.net/projects/mingw/files/MSYS/Base/m...
//途中でMinGWのパスを聞かれるので,C:/MinGWを入力する。
//**パスの設定 [#c1e3bb84]
//ツールとして実行できるようにpathを通しておきます。~
//-コントロール パネル>システムとセキュリティ>システムを...
//-詳細設定タブの「環境変数」をクリック~
//-システム環境変数の「Path」を選択して「編集」をクリック~
//-pathを設定する~
//インストール時にデフォルトディレクトリ「C:\MinGW」にし...
//
//この後,コマンドプロンプトを起動し,「gcc --version」と...
**他のMSYSパッケージの追加
コマンドプロンプトで,
mingw-get list | less
とすると,追加できるパッケージを見ることが出来る。
また,MinGW Installerでパッケージの更新も出来る。
* MSYS2/MinGW-w64のインストール
MSYS2は上記の古いMSYSをバージョンアップした新しいPOSIX環...
MinGW-w64は,32bitと64bitアプリどちらも作成可能なGnu GCC...
MSYS2とMingw-w64はそれぞれ別々にインストールすることが出...
なので''既にインストールしてある古いMSYSをそのまま使用し...
また''MSYSの代わりに[[MSYS2を新たにインストール>./#cb7537...
** MinGW-w64のみをインストール(64bit版/32bit版)
従来のMSYSをインストールしていてその環境を使って64bitアプ...
MinGW-w64を使って32bitと64bitのコードの両方のプログラムを...
''MSYS/MinGWがインストールされていない場合は,まず[[MSYS2...
この場合は,MinGW-w64のみをインストールはしないようにする...
*** MinGW-w64のみをインストールする
''MinGW-w64のみをインストールするには'', [[公式サイト>ht...
ダウンロードしたインストーラを実行すると,インストールが...
Settings画面で,インストールするGCCのバージョン,アーキテ...
- Version:インストールしたいGCCのバージョンを選択。(特...
- Architecture:ターゲットシステムのアーキテクチャーを選...
-- i686(32bit)かx86_64(64bit)を選択する。~
- Thread : スレッドモデルの選択。posixかwin32を選択する。...
-- posix:POSIXスレッド。Unix,Linux,Windowsをサポートし...
-- win32:WIN32スレッドのみをサポートしている。
win32はWindowsネイティブ関数を使っていて速いのだが,C++ 1...
- Exception:例外処理ハンドリングの選択。アーキテクチャー...
-- i686~
--- dwarf:DWARF~
--- sjlj:SetJump/LongJump~
C++標準ライブラリを使用した例外処理
-- x86_64~
--- seh:Structured Exception Handling~
Windowsネイティブな例外処理。(おすすめ)~
- Build Version:ビルドバージョンの選択。(特に理由がなけ...
Architectureを''x86_64''にすると64bit出力するコンパイラが...
インストール先は,デフォルトではC:\Program Files以下にイ...
コンパイラの本体は,
- 64bit出力コンパイラの場合~
[インストールしたディレクトリ]\mingw64~
- 32bit出力コンパイラの場合~
[インストールしたディレクトリ]\mingw32~
にインストールされる。
環境変数のpathに,インストールしたディレクトリ\binを追加...
** MSYS2をインストールしてMinGW-w64を追加インストールする
MSYS2はMSYSをより新しくしたPOSIX環境のツール。MSYSと基本...
もし既にMSYSを使用している場合でも,''MSYSからMSYS2に移行...
MSYS2をインストールするには,[[公式サイト>http://sourcefo...
%%32bit版はmsys2-i686-20190524.exeで,64bit版はmsys2-x86_...
32bit版は2020/05/17からリリースされなくなった。64bit版の...
ダウンロードしたインストーラをダブルクリックして,インス...
インストール場所は,''C:\msys2 とか C:\msys64''とか,とに...
実は''Git for Windows''をインストールするとMSYS2もインス...
というか''Git for Windows''がMSYS2環境を使用して動作して...
MSYS2のパッケージ管理ツールからGitをインストールすること...
*** パッケージ管理ツールからMinGW-w64をインストール
MSYS2がインストールできたら,プログラムメニューからMSYS2...
コマンドプロンプトに似た画面(Bashシェル)が表示されるの...
この時,処理が完了してもプロンプトには戻らないので,強制...
$ pacman -Syu
:
:
警告: terminate MSYS2 without returning to shell and che...
警告: for example close your terminal window instead of ...
再度,MSYS2の''MSYS Shell''を起動して,同じコマンドをもう...
$ pacman -Syu
更新パッケージがあればリストアップされるので,yを入力して...
そして,
$ pacman -Suu
とします。
次に,MinGW-w64(64bitアプリを作成する)をインストールし...
$ pacman -S base-devel
$ pacman -S mingw-w64-x86_64-toolchain
必要であれば,MinGW-w64(32bitアプリを作成する)をインス...
> pacman -S mingw-w64-i686-toolchain
これらのインストール場所は以下のようになる。(MSYS2をC:\m...
c:\msys64 : MSYS2 (64bit)
c:\msys64\mingw64 : MinGW-w64 (64bit)
c:\msys64\mingw32 : MinGW-w64 (32bit)
MinGW-w64のインストールはこれでOKです。~
MSYS2 MinGW 32-bitをクリックすれば32bit MinGWが使えて,MS...
* 環境変数pathの設定
MSYS/MinGWまたはMSYS2/Mingw-w64をインストールしたら,Wind...
- コントロール パネル>システムとセキュリティ>システムをク...
- 詳細設定タブの「環境変数」をクリック~
- システム環境変数(全ユーザーで使用する場合)またはユー...
- MSYS/MinGWまたはMSYS2/MinGW-w64を追加する~
以下のように環境変数を設定する。~
MSYS/MinGWの場合,
MINGW_HOME=C:\MinGW
MSYS_HOME=C:\MinGW\msys\1.0
// LANG=ja_jp.SJIS
// LESSCHARSET=utf-8
MSYS2/MinGW-w64の場合,
MINGW_HOME=C:\msys64\mingw64(or mingw32)
MSYS_HOME=C:\msys64\usr
MSYS2_PATH_TYPE=inherit
// LANG=ja_JP.UTF-8
// LESSCHARSET=utf-8
のようにする。MSYS2_PATH_TYPE=inheritは,WindowsのPATH環...
//Git for Windowsで日本語が文字化けしないようにLANG変数を...
//MSYSでのlessコマンドはデフォルトがsjis(dos)のため,ut...
~
そして,環境変数pathに,
%MINGW_HOME%\bin;%MSYS_HOME%\bin;
を適当な場所に追加する。(ユーザー環境変数でも良い。)~
この後,コマンドプロンプトを起動して「gcc --version」と実...
D:\home\ueno> gcc --version
gcc (MinGW.org GCC-6.3.0-1) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying condit...
warranty; not even for MERCHANTABILITY or FITNESS FOR A ...
MinGWをインストールした場合は,このように表示される。
MinGW-w64の場合は以下の表示される。~
D:\home\ueno> gcc --version
gcc.exe (Rev3, Built by MSYS2 project) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying condit...
warranty; not even for MERCHANTABILITY or FITNESS FOR A ...
* MSYS/MSYS2の起動と環境
スタートメニューから「MinGW Shell」または「MSYS2 MSYS,MS...
この時,カレントディレクトリはユーザーの環境変数HOMEに設...
なので,''環境変数HOMEによく自分が使う作業ディレクトリを...
** ロケール環境
MSYSの場合はPosixコマンド類の日本語コードは''デフォルトが...
しかもMSYSに含まれているコマンドは,ロケール設定に関わら...
[yueno@nalux-d0523:~]$ locale
LANG=ja_JP.SJIS
LC_CTYPE="ja_JP.SJIS"
LC_NUMERIC="ja_JP.SJIS"
LC_TIME="ja_JP.SJIS"
LC_COLLATE="ja_JP.SJIS"
LC_MONETARY="ja_JP.SJIS"
LC_MESSAGES="ja_JP.SJIS"
LC_ALL=
[yueno@nalux-d0523:~]$ echo $LESSCHARSET
dos
[yueno@nalux-d0523:~]$ echo $OUTPUT_CHARSET
sjis
MSYS2の場合はPosixコマンド類の日本語コードは''デフォルト...
MSYS2に含まれているコマンドは,ロケール設定を反映した動作...
[yueno@nalux-d0523:~]$ locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_ALL=
[yueno@nalux-d0523:~]$ echo $LESSCHARSET
dos
[yueno@nalux-d0523:~]$ echo $OUTPUT_CHARSET
dos
なので,''MSYSとMSYS2では使うコンソールのローケール設定に...
さらにLESSCHARSETとOUTPUT_CHARSET環境変数もうまい具合に設...
''Git for Windows''をインソールして併用する場合は,Gitコ...
このため,''コマンドプロンプト''でGit for Windowsやmanコ...
''git.bat''~
@echo off
setlocal
:SETLESS
set LANG=ja_JP.UTF-8
:CMDEXE
git.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
endlocal
bashを使っている場合は,以下のようなaliasにしておく。~
alias git='LANG=ja_JP.UTF-8 LESSCHARSET=utf-8 git'
** Windowsのディレクトリとの対応
*** MSYS/MinGWをインストールした場合
''C:\MinGW\msys\1.0\etc''に,fstabというファイルを作成す...
c:/mingw /mingw
このようにすると,ShellであるBashコンソールを開いた時に,
/ は,C:\MinGW\msys\1.0
/usr は,/と同じでC:\MinGW\msys\1.0
/home/(ユーザー名) は,通常だとC:\Documents and Settings...
/c は,C:\
/mingw は,C:\MinGW (/etc/fstabでマウントされている。)
のようになります。
Bashを起動して確認してみる。
[yueno@nalux-d0523:~]$ mount
C:\Users\yueno\AppData\Local\Temp on /tmp type user (bin...
C:\MinGW\msys\1.0 on /usr type user (binmode,noumount)
C:\MinGW\msys\1.0 on / type user (binmode,noumount)
C:\mingw on /mingw type user (binmode)
c: on /c type user (binmode,noumount)
d: on /d type user (binmode,noumount)
e: on /e type user (binmode,noumount)
f: on /f type user (binmode,noumount)
g: on /g type user (binmode,noumount)
s: on /s type user (binmode,noumount)
u: on /u type user (binmode,noumount)
x: on /x type user (binmode,noumount)
y: on /y type user (binmode,noumount)
z: on /z type user (binmode,noumount)
このように,Windowsでの各ドライブなども全て/(ルート)か...
[yueno@nalux-d0523:~]$ ls /
bin etc include lib local m.ico msys.bat msys.ico...
*** MSYS2/MinGW-w64をインストールした場合
''C:\msys64\etc''に,fstabというファイルがあるので編集す...
c:/msys64/mingw64 /mingw64
このようにすると,ShellであるBashコンソールを開いた時に,
/ は,C:\msys64
/usr は,/と同じでC:\msys64
/home/(ユーザー名) は,通常だとC:\Documents and Settings...
/c は,C:\
/mingw64 は,C:\msys64\mingw64 (/etc/fstabでマウントさ...
のようになります。~
このようにすると,32bitのgcc(mingw32)を使う場合は,
c:/msys64/mingw32 /mingw32
とfstabファイルを書き換えないとダメ。
Bashを起動して確認してみる。
[yueno@nalux-d0523:~]$ mount
c:/msys64/mingw64 on /mingw64 type ntfs (binary,noacl,po...
c:/msys64/msys64 on / type ntfs (binary,noacl,auto)
c:/msys64/usr/bin on /bin type ntfs (binary,noacl,auto)
C: on /c type ntfs (binary,noacl,posix=0,user,noumount,a...
D: on /d type ntfs (binary,noacl,posix=0,user,noumount,a...
E: on /e type ntfs (binary,noacl,posix=0,user,noumount,a...
S: on /s type ntfs (binary,noacl,posix=0,user,noumount,a...
U: on /u type smbfs (binary,noacl,posix=0,user,noumount,...
X: on /x type smbfs (binary,noacl,posix=0,user,noumount,...
Y: on /y type smbfs (binary,noacl,posix=0,user,noumount,...
Z: on /z type smbfs (binary,noacl,posix=0,user,noumount,...
このように,Windowsでの各ドライブなども全て/(ルート)か...
[yueno@nalux-d0523:~]$ ls /
InstallationLog.txt components.xml maintenancetool.dat...
autorebase.bat dev maintenancetool.exe...
bin etc maintenancetool.ini...
なので,''/etc/fstab(C:\msys64\etc\fstab)''に/mingw64の...
この場合は,以下のようにする。~
MINGW32)
MINGW_MOUNT_POINT="${MINGW_PREFIX}"
PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}${ORIGINAL...
↓
PATH="/c/msys64/mingw32/bin:${MSYS2_PATH}${ORIGINAL_PA...
:
:
MINGW64)
MINGW_MOUNT_POINT="${MINGW_PREFIX}"
PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}${ORIGINAL...
↓
PATH="/c/msys64/mingw64/bin:${MSYS2_PATH}${ORIGINAL_PA...
に,MinGW-w64のgccの場所を実行パスを設定している。こうす...
** カスタマイズ
''/usr/local''がないので,必要であれば作成する。標準的なU...
[yueno@d0523:~]$ mkdir /usr/local
上記のように,インストール直後のカレントディレクトリつま...
環境変数HOMEを作成していれば,その場所になる。
/etc/profile(C:\MinGW\msys\1.0\profile)ファイルの最後に...
''/etc/profile''~
export WORK=/c/home/yuji
cd $WORK
* アンインストール
MSYS/MinGWをアンインストールしたい時などは,コントロール...
その後インストールしたディレクトリを削除する。~
MSYS2/MinGW-w64のアンインストールも同様に,コントロールパ...
* 他のパッケージの追加
MSYS/MinGWでパッケージを追加する場合は,コマンドプロンプ...
mingw-get list | less
とすると,追加できるパッケージを見ることが出来る。
MSYS2/MinGW-w64の場合は,パッケージ管理ツールpacmanでパッ...
pacman -h ヘルプ
pacman -<option> -h -<オプション>のヘルプ
pacman -Sy 最新のパッケージデータベース...
pacman -Su パッケージのアップデート(事...
pacman -Syu パッケージのアップデート(-S...
pacman -S [package] パッケージをインストールする
pacman -R [package] パッケージが必要としていたも...
pacman -Rs [package] パッケージと必要としていたも...
pacman -Ss [pattern] パッケージを検索
pacman -Sl | grep [pattern] パッケージの検索2(インスト...
pacman -Sg パッケージグループの一覧を表示
pacman -Qqe インストール済みのパッケージ...
pacman -Si [package] 詳しい情報を表示
pacman -Sc 使っていないキャッシュを削除
* Makefileの雛形
プログラム開発時には,実行ファイルを作成する場合にmakeを...
Makefileの雛形:&ref(Makefile); これをMakefileとしてコピ...
まあ, [[Autotools>/開発/autotools]] や [[CMake>/開発/CMa...
終了行:
*MinGWとは
MinGW(Minimalist GNU for Windows)は,GNUの開発ツール(g...
MinGWはWindows APIのためのヘッダファイルを含んでおり,フ...
コマンドラインから使用することも,各種IDEへ統合することも...
またMinGWのシェル環境というべきMSYS(minimal system)とい...
これには端末エミュレータや開発ツールのautoconfを実行可能...
標準はたぶんMSYSなんだろうが,EclipseやDOSプロンプト上で...
MinGWでコンパイルしたプログラムは,Windowsの標準Cライブラ...
MinGWとMSYSのパッケージは,Cygwinからフォークして誕生した...
MinGWはクロス開発環境としても利用でき,これによりマルチプ...
なお,MSYS・MinGWはフリーソフトウェアで,Win32APIを利用す...
MSYSとMinGWを両方合わせてもファイル容量は比較的小さいので...
Windowsシステムのレジストリなどを全く使用しないので,イン...
''MinGWはWindowsで動作する32bitアプリを作成のためのツール...
またMSYSをより新しくしたMSYS2がリリースされている。~
WindowsマシンでMinGWを利用する場合,MinGW(32bitアプリ開...
* MSYS/MinGWのインストール
''MSYS/MinGWは古いパッケージで,32bitアプリのみ作成できる...
64bitアプリを作成したい場合は,後述の''Mingw-w64''をイン...
まだMSYS/MinGWをインストールしてない場合は,''より新しい[...
理由は以下のような理由がある。~
- MSYS2がMSYSより新しい~
- MSYS2はパッケージ管理ツールpacmanで,インストールするパ...
- Git for WindowsはMSYS2を使用している~
- Rubyの一部のgemをコンパイルするためにDevkitを使うが,De...
** MSYS/MinGWのインストール(32bit版)
http://sourceforge.net/projects/mingw/ のページにある緑色...
そのダウンロードしたインストーラーを実行する。~
-Repository Catalogues~
Use pre-packaged repository cataloguesを選択する。
-インストールするディレクトリ先の設定~
デフォルトは,「C:\MinGW」。スペースとか日本語は使わない...
-Select Components
C Compier,C++ Compiler,MSYS Basic System,MinGW Develop...
-Installを押して,インストールを実行する。
Finishで終わり。
ちなみに,GCCのバージョンは,6.3.0です。
//**MinGWのインストール(64bit版) [#r0221182]
//
//32/64bit共用のWindows向けMinGWもある。まだインストーラ...
//
//-配布サイトから,書庫化パッケージをダウンロード http://...
//-C:\MinGWあたりに解凍する~
//mingw-w64-bin_x86_64-mingw_20111101_sezero.zipをC:\MinG...
//-シェルなど必要な一式が同梱された「MSYS」をインストール...
//http://sourceforge.net/projects/mingw/files/MSYS/Base/m...
//途中でMinGWのパスを聞かれるので,C:/MinGWを入力する。
//**パスの設定 [#c1e3bb84]
//ツールとして実行できるようにpathを通しておきます。~
//-コントロール パネル>システムとセキュリティ>システムを...
//-詳細設定タブの「環境変数」をクリック~
//-システム環境変数の「Path」を選択して「編集」をクリック~
//-pathを設定する~
//インストール時にデフォルトディレクトリ「C:\MinGW」にし...
//
//この後,コマンドプロンプトを起動し,「gcc --version」と...
**他のMSYSパッケージの追加
コマンドプロンプトで,
mingw-get list | less
とすると,追加できるパッケージを見ることが出来る。
また,MinGW Installerでパッケージの更新も出来る。
* MSYS2/MinGW-w64のインストール
MSYS2は上記の古いMSYSをバージョンアップした新しいPOSIX環...
MinGW-w64は,32bitと64bitアプリどちらも作成可能なGnu GCC...
MSYS2とMingw-w64はそれぞれ別々にインストールすることが出...
なので''既にインストールしてある古いMSYSをそのまま使用し...
また''MSYSの代わりに[[MSYS2を新たにインストール>./#cb7537...
** MinGW-w64のみをインストール(64bit版/32bit版)
従来のMSYSをインストールしていてその環境を使って64bitアプ...
MinGW-w64を使って32bitと64bitのコードの両方のプログラムを...
''MSYS/MinGWがインストールされていない場合は,まず[[MSYS2...
この場合は,MinGW-w64のみをインストールはしないようにする...
*** MinGW-w64のみをインストールする
''MinGW-w64のみをインストールするには'', [[公式サイト>ht...
ダウンロードしたインストーラを実行すると,インストールが...
Settings画面で,インストールするGCCのバージョン,アーキテ...
- Version:インストールしたいGCCのバージョンを選択。(特...
- Architecture:ターゲットシステムのアーキテクチャーを選...
-- i686(32bit)かx86_64(64bit)を選択する。~
- Thread : スレッドモデルの選択。posixかwin32を選択する。...
-- posix:POSIXスレッド。Unix,Linux,Windowsをサポートし...
-- win32:WIN32スレッドのみをサポートしている。
win32はWindowsネイティブ関数を使っていて速いのだが,C++ 1...
- Exception:例外処理ハンドリングの選択。アーキテクチャー...
-- i686~
--- dwarf:DWARF~
--- sjlj:SetJump/LongJump~
C++標準ライブラリを使用した例外処理
-- x86_64~
--- seh:Structured Exception Handling~
Windowsネイティブな例外処理。(おすすめ)~
- Build Version:ビルドバージョンの選択。(特に理由がなけ...
Architectureを''x86_64''にすると64bit出力するコンパイラが...
インストール先は,デフォルトではC:\Program Files以下にイ...
コンパイラの本体は,
- 64bit出力コンパイラの場合~
[インストールしたディレクトリ]\mingw64~
- 32bit出力コンパイラの場合~
[インストールしたディレクトリ]\mingw32~
にインストールされる。
環境変数のpathに,インストールしたディレクトリ\binを追加...
** MSYS2をインストールしてMinGW-w64を追加インストールする
MSYS2はMSYSをより新しくしたPOSIX環境のツール。MSYSと基本...
もし既にMSYSを使用している場合でも,''MSYSからMSYS2に移行...
MSYS2をインストールするには,[[公式サイト>http://sourcefo...
%%32bit版はmsys2-i686-20190524.exeで,64bit版はmsys2-x86_...
32bit版は2020/05/17からリリースされなくなった。64bit版の...
ダウンロードしたインストーラをダブルクリックして,インス...
インストール場所は,''C:\msys2 とか C:\msys64''とか,とに...
実は''Git for Windows''をインストールするとMSYS2もインス...
というか''Git for Windows''がMSYS2環境を使用して動作して...
MSYS2のパッケージ管理ツールからGitをインストールすること...
*** パッケージ管理ツールからMinGW-w64をインストール
MSYS2がインストールできたら,プログラムメニューからMSYS2...
コマンドプロンプトに似た画面(Bashシェル)が表示されるの...
この時,処理が完了してもプロンプトには戻らないので,強制...
$ pacman -Syu
:
:
警告: terminate MSYS2 without returning to shell and che...
警告: for example close your terminal window instead of ...
再度,MSYS2の''MSYS Shell''を起動して,同じコマンドをもう...
$ pacman -Syu
更新パッケージがあればリストアップされるので,yを入力して...
そして,
$ pacman -Suu
とします。
次に,MinGW-w64(64bitアプリを作成する)をインストールし...
$ pacman -S base-devel
$ pacman -S mingw-w64-x86_64-toolchain
必要であれば,MinGW-w64(32bitアプリを作成する)をインス...
> pacman -S mingw-w64-i686-toolchain
これらのインストール場所は以下のようになる。(MSYS2をC:\m...
c:\msys64 : MSYS2 (64bit)
c:\msys64\mingw64 : MinGW-w64 (64bit)
c:\msys64\mingw32 : MinGW-w64 (32bit)
MinGW-w64のインストールはこれでOKです。~
MSYS2 MinGW 32-bitをクリックすれば32bit MinGWが使えて,MS...
* 環境変数pathの設定
MSYS/MinGWまたはMSYS2/Mingw-w64をインストールしたら,Wind...
- コントロール パネル>システムとセキュリティ>システムをク...
- 詳細設定タブの「環境変数」をクリック~
- システム環境変数(全ユーザーで使用する場合)またはユー...
- MSYS/MinGWまたはMSYS2/MinGW-w64を追加する~
以下のように環境変数を設定する。~
MSYS/MinGWの場合,
MINGW_HOME=C:\MinGW
MSYS_HOME=C:\MinGW\msys\1.0
// LANG=ja_jp.SJIS
// LESSCHARSET=utf-8
MSYS2/MinGW-w64の場合,
MINGW_HOME=C:\msys64\mingw64(or mingw32)
MSYS_HOME=C:\msys64\usr
MSYS2_PATH_TYPE=inherit
// LANG=ja_JP.UTF-8
// LESSCHARSET=utf-8
のようにする。MSYS2_PATH_TYPE=inheritは,WindowsのPATH環...
//Git for Windowsで日本語が文字化けしないようにLANG変数を...
//MSYSでのlessコマンドはデフォルトがsjis(dos)のため,ut...
~
そして,環境変数pathに,
%MINGW_HOME%\bin;%MSYS_HOME%\bin;
を適当な場所に追加する。(ユーザー環境変数でも良い。)~
この後,コマンドプロンプトを起動して「gcc --version」と実...
D:\home\ueno> gcc --version
gcc (MinGW.org GCC-6.3.0-1) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying condit...
warranty; not even for MERCHANTABILITY or FITNESS FOR A ...
MinGWをインストールした場合は,このように表示される。
MinGW-w64の場合は以下の表示される。~
D:\home\ueno> gcc --version
gcc.exe (Rev3, Built by MSYS2 project) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying condit...
warranty; not even for MERCHANTABILITY or FITNESS FOR A ...
* MSYS/MSYS2の起動と環境
スタートメニューから「MinGW Shell」または「MSYS2 MSYS,MS...
この時,カレントディレクトリはユーザーの環境変数HOMEに設...
なので,''環境変数HOMEによく自分が使う作業ディレクトリを...
** ロケール環境
MSYSの場合はPosixコマンド類の日本語コードは''デフォルトが...
しかもMSYSに含まれているコマンドは,ロケール設定に関わら...
[yueno@nalux-d0523:~]$ locale
LANG=ja_JP.SJIS
LC_CTYPE="ja_JP.SJIS"
LC_NUMERIC="ja_JP.SJIS"
LC_TIME="ja_JP.SJIS"
LC_COLLATE="ja_JP.SJIS"
LC_MONETARY="ja_JP.SJIS"
LC_MESSAGES="ja_JP.SJIS"
LC_ALL=
[yueno@nalux-d0523:~]$ echo $LESSCHARSET
dos
[yueno@nalux-d0523:~]$ echo $OUTPUT_CHARSET
sjis
MSYS2の場合はPosixコマンド類の日本語コードは''デフォルト...
MSYS2に含まれているコマンドは,ロケール設定を反映した動作...
[yueno@nalux-d0523:~]$ locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_ALL=
[yueno@nalux-d0523:~]$ echo $LESSCHARSET
dos
[yueno@nalux-d0523:~]$ echo $OUTPUT_CHARSET
dos
なので,''MSYSとMSYS2では使うコンソールのローケール設定に...
さらにLESSCHARSETとOUTPUT_CHARSET環境変数もうまい具合に設...
''Git for Windows''をインソールして併用する場合は,Gitコ...
このため,''コマンドプロンプト''でGit for Windowsやmanコ...
''git.bat''~
@echo off
setlocal
:SETLESS
set LANG=ja_JP.UTF-8
:CMDEXE
git.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
endlocal
bashを使っている場合は,以下のようなaliasにしておく。~
alias git='LANG=ja_JP.UTF-8 LESSCHARSET=utf-8 git'
** Windowsのディレクトリとの対応
*** MSYS/MinGWをインストールした場合
''C:\MinGW\msys\1.0\etc''に,fstabというファイルを作成す...
c:/mingw /mingw
このようにすると,ShellであるBashコンソールを開いた時に,
/ は,C:\MinGW\msys\1.0
/usr は,/と同じでC:\MinGW\msys\1.0
/home/(ユーザー名) は,通常だとC:\Documents and Settings...
/c は,C:\
/mingw は,C:\MinGW (/etc/fstabでマウントされている。)
のようになります。
Bashを起動して確認してみる。
[yueno@nalux-d0523:~]$ mount
C:\Users\yueno\AppData\Local\Temp on /tmp type user (bin...
C:\MinGW\msys\1.0 on /usr type user (binmode,noumount)
C:\MinGW\msys\1.0 on / type user (binmode,noumount)
C:\mingw on /mingw type user (binmode)
c: on /c type user (binmode,noumount)
d: on /d type user (binmode,noumount)
e: on /e type user (binmode,noumount)
f: on /f type user (binmode,noumount)
g: on /g type user (binmode,noumount)
s: on /s type user (binmode,noumount)
u: on /u type user (binmode,noumount)
x: on /x type user (binmode,noumount)
y: on /y type user (binmode,noumount)
z: on /z type user (binmode,noumount)
このように,Windowsでの各ドライブなども全て/(ルート)か...
[yueno@nalux-d0523:~]$ ls /
bin etc include lib local m.ico msys.bat msys.ico...
*** MSYS2/MinGW-w64をインストールした場合
''C:\msys64\etc''に,fstabというファイルがあるので編集す...
c:/msys64/mingw64 /mingw64
このようにすると,ShellであるBashコンソールを開いた時に,
/ は,C:\msys64
/usr は,/と同じでC:\msys64
/home/(ユーザー名) は,通常だとC:\Documents and Settings...
/c は,C:\
/mingw64 は,C:\msys64\mingw64 (/etc/fstabでマウントさ...
のようになります。~
このようにすると,32bitのgcc(mingw32)を使う場合は,
c:/msys64/mingw32 /mingw32
とfstabファイルを書き換えないとダメ。
Bashを起動して確認してみる。
[yueno@nalux-d0523:~]$ mount
c:/msys64/mingw64 on /mingw64 type ntfs (binary,noacl,po...
c:/msys64/msys64 on / type ntfs (binary,noacl,auto)
c:/msys64/usr/bin on /bin type ntfs (binary,noacl,auto)
C: on /c type ntfs (binary,noacl,posix=0,user,noumount,a...
D: on /d type ntfs (binary,noacl,posix=0,user,noumount,a...
E: on /e type ntfs (binary,noacl,posix=0,user,noumount,a...
S: on /s type ntfs (binary,noacl,posix=0,user,noumount,a...
U: on /u type smbfs (binary,noacl,posix=0,user,noumount,...
X: on /x type smbfs (binary,noacl,posix=0,user,noumount,...
Y: on /y type smbfs (binary,noacl,posix=0,user,noumount,...
Z: on /z type smbfs (binary,noacl,posix=0,user,noumount,...
このように,Windowsでの各ドライブなども全て/(ルート)か...
[yueno@nalux-d0523:~]$ ls /
InstallationLog.txt components.xml maintenancetool.dat...
autorebase.bat dev maintenancetool.exe...
bin etc maintenancetool.ini...
なので,''/etc/fstab(C:\msys64\etc\fstab)''に/mingw64の...
この場合は,以下のようにする。~
MINGW32)
MINGW_MOUNT_POINT="${MINGW_PREFIX}"
PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}${ORIGINAL...
↓
PATH="/c/msys64/mingw32/bin:${MSYS2_PATH}${ORIGINAL_PA...
:
:
MINGW64)
MINGW_MOUNT_POINT="${MINGW_PREFIX}"
PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}${ORIGINAL...
↓
PATH="/c/msys64/mingw64/bin:${MSYS2_PATH}${ORIGINAL_PA...
に,MinGW-w64のgccの場所を実行パスを設定している。こうす...
** カスタマイズ
''/usr/local''がないので,必要であれば作成する。標準的なU...
[yueno@d0523:~]$ mkdir /usr/local
上記のように,インストール直後のカレントディレクトリつま...
環境変数HOMEを作成していれば,その場所になる。
/etc/profile(C:\MinGW\msys\1.0\profile)ファイルの最後に...
''/etc/profile''~
export WORK=/c/home/yuji
cd $WORK
* アンインストール
MSYS/MinGWをアンインストールしたい時などは,コントロール...
その後インストールしたディレクトリを削除する。~
MSYS2/MinGW-w64のアンインストールも同様に,コントロールパ...
* 他のパッケージの追加
MSYS/MinGWでパッケージを追加する場合は,コマンドプロンプ...
mingw-get list | less
とすると,追加できるパッケージを見ることが出来る。
MSYS2/MinGW-w64の場合は,パッケージ管理ツールpacmanでパッ...
pacman -h ヘルプ
pacman -<option> -h -<オプション>のヘルプ
pacman -Sy 最新のパッケージデータベース...
pacman -Su パッケージのアップデート(事...
pacman -Syu パッケージのアップデート(-S...
pacman -S [package] パッケージをインストールする
pacman -R [package] パッケージが必要としていたも...
pacman -Rs [package] パッケージと必要としていたも...
pacman -Ss [pattern] パッケージを検索
pacman -Sl | grep [pattern] パッケージの検索2(インスト...
pacman -Sg パッケージグループの一覧を表示
pacman -Qqe インストール済みのパッケージ...
pacman -Si [package] 詳しい情報を表示
pacman -Sc 使っていないキャッシュを削除
* Makefileの雛形
プログラム開発時には,実行ファイルを作成する場合にmakeを...
Makefileの雛形:&ref(Makefile); これをMakefileとしてコピ...
まあ, [[Autotools>/開発/autotools]] や [[CMake>/開発/CMa...
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ