インストールは可能ですか?ただ x86_64-w64-mingw32-gcc
?コマンドを実行するのに必要で、mingw-w64
インストールスペースが800MBを超えています...私はDebian Busterを使用していますが、今試した他のLinuxバージョンでも同じです。
$ sudo apt-get install mingw-w64 -V --no-install-recommends
...
The following NEW packages will be installed:
binutils-mingw-w64-i686 (2.31.1-11+8.3)
binutils-mingw-w64-x86-64 (2.31.1-11+8.3)
g++-mingw-w64 (8.3.0-6+21.3~deb10u1)
g++-mingw-w64-i686 (8.3.0-6+21.3~deb10u1)
g++-mingw-w64-x86-64 (8.3.0-6+21.3~deb10u1)
gcc-mingw-w64 (8.3.0-6+21.3~deb10u1)
gcc-mingw-w64-base (8.3.0-6+21.3~deb10u1)
gcc-mingw-w64-i686 (8.3.0-6+21.3~deb10u1)
gcc-mingw-w64-x86-64 (8.3.0-6+21.3~deb10u1)
mingw-w64 (6.0.0-3)
mingw-w64-common (6.0.0-3)
mingw-w64-i686-dev (6.0.0-3)
mingw-w64-x86-64-dev (6.0.0-3)
0 upgraded, 13 newly installed, 0 to remove and 2 not upgraded.
Need to get 137 MB of archives.
After this operation, 809 MB of additional disk space will be used.
Do you want to continue? [Y/n]
答え1
このMingw-w64パッケージはなぜそんなに大きいのですか?
なぜならmingw-w64
MinGW-w64ツールチェーンでサポートされているすべてのターゲットに対してCおよびC ++コンパイラを提供するメタパッケージ。現在、4つの異なるバックエンド(POSIXおよびWindowsスレッドモデルと組み合わせた32ビットおよび64ビット)が含まれています。
すべてが必要でない場合は、apt
興味のあるコンパイラのみをインストールするように要求でき、最終的にはより小さなパッケージセットが作成されます。
apt install gcc-mingw-w64-x86-64
これにより、64ビットツールチェーンがインストールされますが、g++
まだ約300MiBです。
次のバージョンのDebian(およびUbuntu 20.04)はより詳細なセグメンテーションを提供するため、スレッドモデルの1つのみを指定できます。
apt install gcc-mingw-w64-x86-64-posix
答え2
はい、フルスイートが必要ない場合は、特定の部分のみをインストールすることを選択できます。インストールすると、gcc-mingw-w64
Cに必要なものはすべて提供されますが、C ++のサポートは含まれません。これはあなたによく合うかもしれません。
あまり導入したくない場合は、gcc-mingw-w64-x86-64
x86-64アーキテクチャに対してのみコンパイルできるように導入するだけです。これにより、i686のサポートは除外されます。 Debian Bullseye 以降でのみ posix-thread を使用してコンパイルしようとすると、これをgcc-mingw-w64-i686-posix
。
で指定しても、およびパッケージは引き続きgcc-mingw-w64-i686-posix
提供されます。*-runtime
-base
binutils-*
*-dev
あなたの計画がコンパイルではなく、単にそのようなものを使用する/usr/bin/x86_64-w64-mingw32-elfedit
ことであれば、単にbinutils-mingw-w64-x86-64
。これを使用して、apt-file list <package>
各パッケージで提供されるファイルを表示できます。
Debian Bullseye(11)とUbuntu 20.04の依存関係ツリーは次のとおりです。
mingw-w64
|- gcc-mingw-w64
| |- gcc-mingw-w64-i686
| | |- gcc-mingw-w64-i686-posix
| | | |- gcc-mingw-w64-i686-posix-runtime
| | | |- gcc-mingw-w64-base
| | | |- binutils-mingw-w64-i686
| | | `- mingw-w64-i686-dev
| | `- gcc-mingw-w64-i686-win32
| | |- gcc-mingw-w64-i686-win32-runtime
| | |- gcc-mingw-w64-base
| | |- binutils-mingw-w64-i686
| | `- mingw-w64-i686-dev
| `- gcc-mingw-w64-x86-64
| |- gcc-mingw-w64-x86-64-posix
| | |- gcc-mingw-w64-x86-64-posix-runtime
| | |- gcc-mingw-w64-base
| | |- binutils-mingw-w64-x86-64
| | `- mingw-w64-x86-64-dev
| `- gcc-mingw-w64-x86-64-win32
| |- gcc-mingw-w64-x86-64-win32-runtime
| |- gcc-mingw-w64-base
| |- binutils-mingw-w64-x86-64
| `- mingw-w64-x86-64-dev
`- g++-mingw-w64
|- g++-mingw-w64-i686
| |- g++-mingw-w64-i686-posix
| | |- gcc-mingw-w64-i686-posix
| | |- gcc-mingw-w64-i686-posix-runtime
| | `- gcc-mingw-w64-base
| `- g++-mingw-w64-i686-win32
| |- gcc-mingw-w64-i686-win32
| |- gcc-mingw-w64-i686-win32-runtime
| `- gcc-mingw-w64-base
`- g++-mingw-w64-x86-64
|- g++-mingw-w64-x86-64-posix
| |- gcc-mingw-w64-x86-64-posix
| |- gcc-mingw-w64-x86-64-posix-runtime
| `- gcc-mingw-w64-base
`- g++-mingw-w64-x86-64-win32
|- gcc-mingw-w64-x86-64-win32
|- gcc-mingw-w64-x86-64-win32-runtime
`- gcc-mingw-w64-base
ボーナス:mingwの管理者がこのサイトを頻繁に訪問します。たぶん彼からより良い答えを得ることができます。
答え3
apt download x86_64-w64-mingw32-gcc
dpkg-deb -R x86_64-w64-mingw32-gcc*deb temp
cp temp/your/required/file /tmp/file
rm -rf x86_64-w64-mingw32-gcc*