質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.09%

pacmanって何ですか?msys2って何ですか?

解決済

回答 1

投稿

  • 評価
  • クリップ 2
  • VIEW 3,147

feyn

score 15

現在Windows環境でVSCodeの環境開発を行っています。
コンパイラとしてg++を使う予定です。

ネットの記事を読んで、まずmsys2をインストールしました。
その後pacmanを使っていろいろなソフトをインストールしたのですが、ネットの記事通りやっていたら自分が今何をしているのかわからなくなってしまいました。そこで、調べてもよくわからなかったことを列挙しますので、お答えしていただけると助かります。

  • msys2をインストールしただけではg++はついてこないのか?
  • msys2を起動しようと、windowsボタンの右にある検索窓にmsys2と打ち込むと、MSYS2 MSYSとMSYS2 MinGW 64-bitの二つが出てくるのですが、どちらを使えばいいのか?
  • この記事を参考にしたのですが、$ pacman -Syuuを実行すると、パッケージデータベースの更新とパッケージの更新をまとめて行う、とあるが、それはどいうことなのか?更新も何も最初は何もないのではないのか?実際にこのコマンドを実行するとmingwなどの文字列が羅列していくが、これでg++はダウンロードされるのか?されるならそれはどこにあるのか?
  • $ pacman -S base-develを実行すると、何がダウンロードされるのか?$ pacman -S mingw-w64-x86_64-toolchainを実行すると何がダウンロードされるのか?

長くなりましたがどうかよろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

msys2をインストールしただけではg++はついてこないのか?

はい。デフォルトではインストールされません。
MSYS2を使用する人全員が開発環境を必用とするわけではありませんので。

msys2を起動しようと、windowsボタンの右にある検索窓にmsys2と打ち込むと、MSYS2 MSYSとMSYS2 MinGW 64-bitの二つが出てくるのですが、どちらを使えばいいのか?

MSYS2上には

  • MSYS ネイティブアプリ(MSYS2上でのみ動作するアプリ)
  • MinGWアプリ(Msysの環境がインストールされていないPCでも動作するアプリ)

の2つが混在しております。
ですので、どちらのアプリを開発したいのかで選択すると良いかと思います。
(MinGWを選択しても MSYSアプリを使用することはできます。)
当然GCCコンパイラ等のToolchainも、MSYS開発用とMinGW用がありますので必要な方のみをインストールしてください。

$pacman -Syuuを実行すると、パッケージデータベースの更新とパッケージの更新をまとめて行う、とあるが、それはどいうことなのか?

なんか uが一つ多い気がしますが・・。
MSYS2にインストール可能なパッケージ群は基本的にはネットワーク上のリポジトリに置かれており、パッケージ毎に都度更新(バージョンアップ)されております。
それらのパッケージのリストはローカルのデータベースに保存されており通常のパッケージのインストールなどではこのローカルのデータベースが使用されることとなります。
で、このローカルのデータベースを最新の情報に更新する処理が $pacman -Sy です。
更にインストール済みパッケージがある場合、上記のデータベースの情報に照らし合わせて最新のバージョンに更新する処理が $pacman -Su となります。
つまり $pacman -Syu はこの2つの処理を合わせて行う処理ということです。

更新も何も最初は何もないのではないのか?実際にこのコマンドを実行するとmingwなどの文字列が羅列していくが、これでg++はダウンロードされるのか?されるならそれはどこにあるのか?

MSYS2をインストールすると初期状態でshellなどのいくつかの最低限のパッケージはインストールされた状態です。ですのでこれらのインストール済みパッケージのみが更新されます。g++は初期状態ではインストールされておりませんので当然更新はされません。

$ pacman -S base-develを実行すると、何がダウンロードされるのか?

基本的な開発ツール

  • autoconf/automake/autogen/m4
  • make/pkg-config/patch
  • diff/wget/gawk/grep/bison/sed

等がインストールされます。
詳細は pacman -Ss base-devel してみてください

$pacman -S mingw-w64-x86_64-toolchain を実行すると何がダウンロードされるのか?

MinGW版のコンパイラー等なのToolchainが(gcc/ld)などがインストールされます。
詳細は pacman -Ss mingw-w64-x86_64-toolchain してみてください

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/10/08 11:14

    なるほど!わかりやすい説明ありがとうございます。
    ただ、一つだけ分からなかったのが、「当然GCCコンパイラ等のToolchainも、MSYS開発用とMinGW用がありますので必要な方のみをインストールしてください。 」の部分です。
    gccコンパイラにも種類があるのですか?
    それとも、MSYS用のgccはMSYSのシェルからしか使えないがMinGW用のgccは例えば、Windowsのコマンドプロンプトからも使用できる、ということですか?

    何度もすみませんがよろしくお願い申し上げます。

    キャンセル

  • 2018/10/08 11:24

    まずは
    pacman -Sl
    を実行してみてください。このコマンドで使用できるパッケージの一覧が見れるはずなのですが、先頭に "msys" とあるのが ネイティブアプリですので msys環境下のみで動作するアプリ、"mingw64/32" となっているのが msysに依存しないアプリですのでコマンドプロンプトなどからも使用することができます(当然PATHの設定は必用ですが)

    キャンセル

  • 2018/10/08 11:31 編集

    でgccですが、(私の環境では)上記のリストに

    mingw32 mingw-w64-i686-gcc 7.3.0-2
    mingw64 mingw-w64-x86_64-gcc 8.2.0-3
    msys gcc 7.3.0-3
    msys mingw-w64-cross-gcc 7.3.0-2

    含まれております。上か順番に

    32bit環境で動作する 32bit用MinGWコンパイラ
    64bit環境で動作する 64bit用MinGWコンパイラ
    MSYS環境で動作する MSYS用コンパイラ
    MSYS環境で動作する MINGW用(クロス)コンパイラ

    ということになりますので、基本的に必用なものを1つインストールするとよいということになります

    キャンセル

  • 2018/10/08 11:39

    回答ありがとうございました!
    すごく分かりやすかったです!!
    おかげさまで理解できたと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.09%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる