1. ホーム
  2. cygwin

[解決済み] MinGW-w64とMSYS2のインストール方法を教えてください。

2022-03-03 07:51:09

質問

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

をダウンロードしました。 mingw-w64-install から こちら . 実行すると、以下のエラーが報告されます。どうすれば直りますか?

そして、乙訓から MinGW-w64 ダウンロードのページには、たくさんのダウンロードリンクがありますね。Cygwinも載っています。なんと CygwinMinGW-w64 が関連しているのか?

<イグ

私の現在の理解では、当時は MinGW+MSYS MSYSはMinGWの単なるアドオンであり、一方 MinGW-w64 + MSYS2 MSYS2はスタンドアロンで、MinGW-w64はそれが動作するためのライブラリのセットに過ぎないのです。Cygwinがいろいろなパックをダウンロードできるのと同じです。

解決方法は?

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

とにかく、すでにMSYS2を使う予定があるのなら、そのインストーラーは必要ありません。

  1. MSYS2のダウンロードはこちらから このページ .

  2. インストールが完了したら、以下のいずれかの項目で新しく作成された "MSYS2 Shell" オプションをクリックします。 MSYS2 64-bit または MSYS2 32-bit をスタートメニューに追加する(または mingw64.exe または mingw32.exe をインストールしたディレクトリにある)。

    正しく行われた場合、ターミナルのプロンプトには次のように表示されます。 MINGW64 または MINGW32 ではなく、それぞれ MSYS .

  3. を使用してMSYS2をアップデートします。 pacman -Syuu . 更新中に勝手に終了した場合は、再起動してから同じコマンドを繰り返して更新を終了してください。

    定期的にインストールを更新する必要があります。

  4. ツールチェインのインストール

    a) 64bitの場合。

    pacman -S mingw-w64-x86_64-toolchain
    
    

    b) 32bitの場合。

    pacman -S mingw-w64-i686-toolchain
    
    

    GCC(コンパイラ)、GDB(デバッガ)などが含まれます。

  5. 必要なライブラリやツールをインストールします。レポジトリを検索するには、次のようにします。

    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-w64-x86_64- 64ビットの場合、または mingw-w64-i686- 32ビット用)。接頭辞のないパッケージは、雑多なコマンドラインユーティリティにのみ使用してください ( grep , sed , make など)、何をやっているのかわからない限りは

  6. を行い、コンパイラが動作していることを確認します。

    gcc --version
    
    

MSYS2環境の外でツールチェイン(インストールされたライブラリ付き)を使用したい場合、必要なことは、MSYS2環境に <MSYS2 root>/mingw64/bin または <MSYS2 root>/mingw32/bin をあなたの PATH .