mingw-w64をオフラインでインストールする方法はありますか?私は多くの公式ソースを試しましたが、それらはすべて何らかのインターネットアクセスを必要とするようです。 x32システムとx64システムの両方で機能するものを探しています。 公式リポジトリ を見てみましたが、このタスクに必要なファイルがわかりません。
前もって感謝します !
以下はまだ完全にはテストされていませんが、オフラインインストーラーは不要なようです。バグレポートのスクリーンショットに基づいて、オンラインインストーラーは次の質問をします...
Version .......... seems to be the GNU GCC version number
Architecture ..... i686 / x86_64
Threads .......... posix / win32
Exception ........ dwarf / sjlj / seh
Build Revision ... 0 / 1 / 2 / ...
Install folder ... e.g. c:\mingw
Create desktop shortcuts?
最初の5つのオプションは、単一のダウンロードパッケージを選択するために使用されます。私はあなたについては知りませんが、スレッドと例外のために何を選ぶべきか分かりません。純粋にダウンロード統計に基づいているため、posixスレッドはwin32の2倍以上使用されます。sehは64ビットで非常に人気があり、dwarfは32ビットで、sjljはあまり愛されていません。 posixとdwarfを使用した32ビットがデフォルトです。
選択内容を識別するために、 this folder のファイルrepository.txtを使用します。これは、パイプで区切られたテキストファイルです。5つのメインオプション用の5つのフィールドと、ダウンロードするパッケージのURL用の1つのフィールドです。
ちなみに、インストーラーのソースコードの場所を知っている人がいれば、コメントをいただければ幸いです。高いところと低いところを探しました。バグレポートが、インストーラーのソースが見つかりません。ただし、mingw-64バイナリパッケージのソースは簡単に見つけることができます。
バイナリパッケージ自体は、 this folder(Win32) および this folder(Win64) のサブフォルダーにあります。
インストーラーが作成するショートカットの用途がわからない-これはMSYSまたはMSYS2ではなくMinGW-w64なので、ショートカットを提供するbashベースのシェルはありません。おそらく、それらはパスが設定されたWindowsコマンドプロンプトショートカットにすぎません。
そのショートカットの問題以外は、パッケージを適切なフォルダーに解凍し、mingw32\binまたはmingw64\binフォルダーがパス上にあることを確認するだけです。 32ビットgcc-5.4.0パッケージの1つでこれをテスト済みです。g++は問題なくhello-worldをコンパイルしました。
サブフォルダーには、さらに一歩先のサブフォルダーに代替のサードパーティビルドがあります ここ(32ビット) および64ビットおよびその他のビルドの*フォルダーをターゲットとするさまざまなツールチェーンの同様のサブフォルダーray_linnには、Ada(およびObjective C/C++?)サポートを含むさまざまなビルドがあります。 rubenvbには、いくつかの古いGCCおよびClangバージョンがあります。 dongsheng-dailyは、実験的なGCC 7を含め、毎日のビルドのように見えます。
MSYSも必要な場合は、コメントでお知らせください。オフラインで(MinGW32と一緒に)しばらくインストールしているので、インストールするパッケージのリストがあります。かなりの数のパッケージが必要です。SourceForgeからパッケージを入手するのは苦痛ですが、一度パッケージを手に入れると、ほとんどの場合、再び解凍するだけです。いくつかのマイナーな「ポストインストール」があります-作成するファイル、主にMinGWの場所、さらにシェルへのショートカットの作成。私はそれを行うAutoItスクリプトを持っています-少し混乱し、不適切なメソッドを使用しました。それらは当時AutoItで知っていたものでしたが、正常に動作します。
MSYS2がありますが、一見するとpacmanパッケージマネージャーを使用したオンラインインストールが想定されるもう1つの問題です。おそらく非常に便利ですが、使用できない少数派にとってはそうではありません。
はい。最初にインターネットに接続されたマシンでMSYS2のpacman
を使用してからmingw-w64をオフラインでインストールしてから、pacmanでダウンロードしたファイルをオフラインマシンに転送できます。
あなたの質問に、pacmanの素晴らしいところは、すべての依存関係の適切なバージョンを取得することです。
インターネットに接続されたマシンで:
pacman -Syu
でパッケージデータベースを更新しますMSYS2ターミナルで、目的のパッケージを含むフォルダーを作成します(例:mingw-w64)
mkdir ~/offline_packages
cd ~/offline_packages
pacman -Syw base base-devel mingw-w64-x86_64-toolchain --cachedir .
Pacmanのrepo-add
スクリプトを使用して、すべてをデータベースにバンドルします。
repo-add ./offline.db.tar.gz ./*
~/offline_packages
を外部フラッシュドライブにコピーします。オフラインマシンで:
offline_packages
フォルダーをフラッシュドライブからMSYS2がアクセスできるパスにコピーします(例:C:/msys64/home/user/offline_packages
)編集C:/msys64/etc/pacman.conf
[mingw32], [mingw64], [msys]
リポジトリをコメント化します。新しいリポジトリを追加します。この例では、上記の任意のパスを使用しています。 offline_packagesフォルダーをコピーした場所を指すように変更します。
[offline]
SigLevel = Optional
Server = file:///home/user/offline_packages
MSYS2ターミナルで、pacmanデータベースを新しいリポジトリと同期します
pacman -Syu
Mingw-w64などをインストールします。
pacman -S --needed base base-devel mingw-w64-x86_64-toolchain
参照: https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Installation_and_recovery