MinGW-w64とMSYS2をインストールするにはどうすればいいですか?


88

オープンソースライブラリを構築しようとしています。依存関係を簡単にダウンロードするためのパッケージ管理システムが必要です。最初はを使用していMinGW+MSYSます。ただし、含まれるパッケージには制限があります。誰かが私に使うように言ったMinGW-w64 + MSYS2

ここmingw-w64-installからダウンロードしまし。実行すると、次のエラーが報告されます。それを修正する方法は?

ここに画像の説明を入力してください

ところで、MinGW-w64ダウンロードページから、たくさんのダウンロードリンクが表示されます。Cygwinもリストされています。どのようにCygwin、そしてどのようMinGW-w64に関連していますか?

ここに画像の説明を入力してください

私の現在の理解では、当時MinGW+MSYS、MSYSはMinGWの優れたアドオンでありMinGW-w64 + MSYS2、MSYS2はスタンドアロンであり、MinGW-w64はそれが動作できるライブラリのセットにすぎません。Cygwinがさまざまなパッケージをダウンロードできるように。

回答:


201

残念ながら、使用したMinGW-w64インストーラーでこの問題が発生することがあります。私自身、これがなぜ発生するのかわかりません(SourceforgeのURLリダイレクト、またはインストーラーが現在十分に適切に処理できないものと関係があると思います)。

とにかく、すでにMSYS2の使用を計画している場合は、そのインストーラーは必要ありません。

  1. このページからMSYS2をダウンロードします(ビルドする実行可能ファイルの種類ではなく、使用するWindowsのバージョンに応じて32ビットまたは64ビットを選択します。どちらのバージョンでも32ビットと64ビットの両方のバイナリをビルドできます)。

  2. インストールが完了したら、[スタート]メニューMSYS2 64-bitまたはMSYS2 32-bit[スタート]メニューで、新しく作成した[MSYS2シェル]オプションをクリックします。ウィキに従ってMSYS2を更新します(ただしpacman -Syu、すべてのエラーを無視してウィンドウを閉じて新しいウィンドウを開きますが、これはお勧めできません。ウィキページの内容を実行する必要があります)。

  3. ツールチェーンをインストールする

    a)32ビットの場合:

    pacman -S mingw-w64-i686-gcc
    

    b)64ビットの場合:

    pacman -S mingw-w64-x86_64-gcc
    
  4. 必要なライブラリ/ツールをインストールします。あなたはすることによってリポジトリを検索することができます

    pacman -Ss name_of_something_i_want_to_install
    

    例えば

    pacman -Ss gsl
    

    を使用してインストールします

    pacman -S package_name_of_something_i_want_to_install
    

    例えば

    pacman -S mingw-w64-x86_64-gsl
    

    それ以降、GSLライブラリはMinGW-w6464ビットコンパイラによって自動的に検出されます。

  5. MinGW-w64シェルを開きます。

    a)32ビットのものを構築するには、「MinGW-w6432ビットシェル」を開きます

    b)64ビットのものをビルドするには、「MinGW-w6464ビットシェル」を開きます

  6. コンパイラが機能していることを確認するには、

    gcc -v
    

MSYS2環境の外部で(ライブラリがインストールされた)ツールチェーンを使用する場合は、を追加する<MSYS2 root>/mingw32/bin<MSYS2 root>/mingw64/bin、に追加するだけですPATH


4
ありがとう。pacman認識できるパッケージの正規名を取得するにはどうすればよいですか?
smwikipedia 2015年

1
32ビットと64ビットの両方のツールチェーンを同時にインストールした場合は機能しますか?
パニック大佐2015

2
@Colonelはい、ツールチェーン(およびインストールするサードパーティライブラリ)を別々のディレクトリ(/ mingw32および/ mingw64)にインストールします。
rubenvb 2015

5
@rubenvbありがとうございます。msys2 wikiは、これらのいくつかの簡単な手順を実行する方法について、私のような初心者には非常に混乱しています。
トビー

1
@Toby私は、彼らが物事を説明する際に「アーチウェイ」を取ることに同意します。つまり、パックマンのArch wikiを読んで、ほぼ同じことを知っているでしょう。初心者のセットアップは便利かもしれませんが、現在はSOにあり、Googleですぐに表示されるはずです:)。(これを次のように読んでください:この答えに賛成してください:P)
rubenvb 2016年

38

MSYSは長い間更新されていません、MSYS2はよりアクティブです、MSYS2からダウンロードできます、それはmingwcygwin forkパッケージの両方を持っています。

MinGW-w64ツールチェーンをインストールするには(リファレンス):

  1. スタートメニューからMSYS2シェルを開きます
  2. pacman -Sy pacmanパッケージデータベースを更新するために実行します
  3. シェルを再度開き、実行pacman -Syuしてパッケージデータベースとコアシステムパッケージを更新します
  4. シェルを再度開き、実行pacman -Suして残りを更新します
  5. コンパイラをインストールします。
    • 32ビットターゲットの場合、 pacman -S mingw-w64-i686-toolchain
    • 64ビットターゲットの場合、 pacman -S mingw-w64-x86_64-toolchain
  6. インストールするパッケージを選択します。デフォルトはすべてです
  7. またmake、実行する必要があるかもしれませんpacman -S make

3
のような特定のMinGW-w64バージョンをインストールするにはどうすればよいx86_64-6.2.0-release-posix-seh-rt_v5-rev1ですか?
youda008 2016

1
これは、ここで説明されているmingwインストーラーがもう必要ないことを意味しますか?そして私はmsys2をインストールする必要がありますか?
lanoxx 2017

1
リンクReferenceが壊れている
Jean-Francois T.

msys2シェルが1秒後に自動的に閉じる理由についてのアイデアはありますか?
A_P

1
あなたはcmakeの必要がある場合には、インストールする必要がありpacman -S mingw-w64-x86_64-cmakeしません cmake。通常のcmakeにはminGW用のジェネレーターがありません。
user1360 3620年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.