トップページインストール,使い方Windows の種々のソフトウェア(インストール,使い方)MSYS2 と GNU ツールチェーン類 (gcc, g++, gfortran, gdb, make, ccache, svn 等) のインストール(MSYS2 を利用 )(Windows 上)

MSYS2 と GNU ツールチェーン類 (gcc, g++, gfortran, gdb, make, ccache, svn 等) のインストール(MSYS2 を利用 )(Windows 上)

Windows での,MSYS2 と GNU ツールチェーン類(gcc など)のインストール手順を説明する. MSYS2 は,ターミナル minttyシェル bash各種UNIX風コマンドの詰め合わせ.

目次

  1. MSYS2 のダウンロードとインストール
  2. GNU ツールチェーン類 (gcc, g++, gfortran, gdb, make, ccache, svn 等) のインストール

MSYS2 のダウンロードとインストール

MSYS2 は,ターミナル minttyシェル bash各種UNIX風コマンドの詰め合わせ. pacmanコマンドを使ってパッケージの追加もできる.UNIX風コマンドとpacmanコマンドが便利.

◆ ここでの設定

インストール後に行う環境変数の設定

◆ ダウンロードとインストールの手順

  1. MSYS2 のページを開く

    http://msys2.github.io/

  2. Download the installer のところをクリック

    [image]
  3. ダウンロードが始まる.

    [image]
  4. ダウンロードした .exe ファイルを実行
  5. ようこそ画面では,「次へ」をクリック.

    [image]
  6. インストールディレクトリ(フォルダ)は既定(デフォルト)のままでよい.「次へ」をクリック.

    [image]
  7. スタートメニューのショートカットは,既定(デフォルト)のままでよい.「次へ」をクリック.

    [image]
  8. インストールが始まる.

    [image]
  9. インストール終了の確認.「完了」をクリック.

    [image]
  10. インストール直後は,mintty,bash が自動起動するので確認

    [image]
  11. msys を管理者として実行する

    スタートメニューで,「MSYS2」の下の「MSYS2 MSYS」を選び(下図),右クリックメニューで,管理者として実行を選ぶ.

    [image]
  12. 念のため、この画面で環境変数の値を確認.
    echo $MSYSTEM
    echo $PATH
    echo $PKG_CONFIG_PATH
    

    [image]
  13. パッケージデータベースと pacman とコアパッケージの更新
    1. もう一度、msys を管理者として実行する

      スタートメニューで,「MSYS2」の下の「MSYS2 MSYS」を選び(下図),右クリックメニューで,管理者として実行を選ぶ.

      [image]
    2. いま開いたmsysで次のコマンドを実行する
      pacman -Syu
      

      ※ 質問には「y」+ Enter キー

      [image]
    3. 終わったら,msysを閉じる

      [image]
  14. パッケージの更新
    1. 再び、msys を管理者として実行する

      スタートメニューで,「MSYS2」の下の「MSYS2 MSYS」を選び(下図),右クリックメニューで,管理者として実行を選ぶ.

      [image]
    2. いま開いたmsysで次のコマンドを実行する
      pacman -Su
      

      ※ 質問には「y」+ Enter キー

      [image]
    3. 終わったら,msysを閉じる.

      [image]
  15. Windowsのシステム環境変数MSYSTEMを次のように設定
    MSYS
    

    そのために,管理者として実行した コマンドプロンプトで,次のコマンドを実行する.

    call powershell -command "[System.Environment]::SetEnvironmentVariable(\"MSYSTEM\", \"MSYS\", \"Machine\")"
    

    [image]
  16. Windowsのシステム環境変数Pathに次の5つを追加することにより,パスを通す

    そのために,管理者として実行した コマンドプロンプトで,次のコマンドを実行する.

    call powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\msys64\mingw64\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    call powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\msys64\usr\local\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    call powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\msys64\usr\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    call powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\msys64\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    call powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\msys64\opt\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    

    [image]
  17. bash, ls にパスが通っていることを確認する

    Windowsのコマンドプロンプトを開き、次のコマンドを実行する.

    エラーメッセージが出なければOK.

    where bash
    where ls
    

    [image]

GNU ツールチェーン類 (gcc, g++, gfortran, gdb, make, ccache, svn 等) のインストール

MSYS2 に gcc, g++ (C言語, C++言語処理系) やその他のツールチェーンを,パッケージを使ってインストールする.

◆ 事前準備

MSYS2 のインストールが終わっていること.

◆ ダウンロードとインストールの手順

  1. MSYS2 の MSYS を実行する

    スタートメニューで,「MSYS2」の下の「MSYS2 MSYS」を選ぶ.

  2. MSYS2 でGNU ツールチェーン類 (gcc, g++, gfortran, gdb, make, ccache, svn 等) のインストールのインストール

    次のコマンドを1つずつ実行.

    ※ 「Enter a selection (defaulit=all) という質問には・既定(デフォルト)のままでよいので、Enter キー

    ※ 「Proceed with installation? [Y/n] という質問には・インストールを続けたいので、Y, Enter キー

    pacman -Sy base-devel
    pacman -Sy msys2-devel
    pacman -Sy mingw-w64-i686-toolchain
    pacman -Sy mingw-w64-x86_64-toolchain
    pacman -Sy mingw-w64-i686-boost
    pacman -Sy mingw-w64-x86_64-boost
    pacman -Sy make
    pacman -Sy ccache
    pacman -Sy subversion
    pacman -Sy findutils
    pacman -Sy ncurses-devel
    

    選択してください (デフォルト = all)」に対しては Enter キー

    [image]

    インストールを行うか? [Y/n] (Proceed with installation? [Y/n])」に対しては,y + Enter キー

    [image]

    コマンドを1つずつ実行するたびに、エラーメッセージが出ていないことを確認。

    [image]

    ※ msys のパッケージは pacman -Ss <キーワード>で検索できる

  3. パスが通っていることを確認する

    Windowsのコマンドプロンプトを開き、次のコマンドを実行する.

    エラーメッセージが出なければOK.

    where gcc
    where g++
    where gfortran
    where gdb
    where make
    where ccache
    where svn
    where locate
    

    次のような結果が出るはず(必ずしも、ぴったりは一致しないでしょう.エラーメッセージが出なければ OK)

    [image]

    次のようなエラーメッセージが出るなどのときは、システム環境変数Pathの設定を確認し修正した後、Windows のコマンドプロンプトを開き直す。

    [image]
  4. コンパイラの確認のため、次のプログラムを作成。「hello.c」のようなファイル名で保存.
    #include<stdio.h>
    int main() {
        printf("Hello,World!\n");
        printf("sizeof(size_t)=%ld\n", sizeof(size_t));
        return 0;
    }
    

    [image]

    Windows のコマンドプロンプトを開き、次を実行.

    「Hello,World!」「sizeof(size_t)=8!」と表示されればOK.

    gcc hello.c
    .\a.exe
    

    [image]

msys2 に付属の gdb での,起動時のエラーに関する対処例

msys2 の gdb 起動するとき,次のようなエラーメッセージが出ることがある.

ImportError: No module named libstdcxx.v6.printers
/etc/gdbinit:6: Error in sourced command file:
Error while executing Python code.

エラーメッセージから「gdbinit」に原因があると手掛かりが得られた. C:\msys64\etc\gdbinit をエディタで開く. すると,gcc のバージョンが間違っていることが分かる. 次のように書き直す.

[image]

もう一度 gdb を起動してみる.エラーメッセージが無くなることが分かる.