クロスコンパイル(mingw)環境の構築

クロスコンパイル(mingw)環境の構築

私はDebian環境で働いていますが、うまくいきます。プロジェクトをビルドするには、依存sudo apt install関係をビルドしてからビルドします。

しかし、mingw-w64を使ってDebian環境でクロスコンパイルしたいと思います。ビルド依存関係のバージョンがないため、-w64ビルドする必要があります。

特定のツールチェーンapt source <package>を使用する方法はありますか?dpkg-buildpackage

私は推測する--target-arch私は必要なものに近いですが、w64がサポートされているアーキテクチャではないようです。

わかりますhttp://clang.debian.netclang を使って Debian アーカイブを構築する方法を説明します。

cd /usr/bin
rm /usr/bin/{g++,gcc,cpp}
ln -s /usr/bin/clang++ /usr/bin/g++
ln -s /usr/bin/clang /usr/bin/{gcc,cpp}

これがこれを達成する合理的な方法ですか? (mingwしかしclang)?

答え1

残念ながらdpkgMinGW-w64ターゲットにはサポートされているアーキテクチャはありません。dpkg-buildpackageそのため、他のサポートされているアーキテクチャなどの単純なクロスビルド設定では使用できませんdpkg。 MinGW-w64クロスコンパイラを提供してもgcc作業を簡素化することはできませんg++。クロスコンパイル設定には、ツールチェーンプレフィックスの知識が必要です。

実際には各依存関係を手動で構築する必要があり、可能であれば対応するDebianパッケージから始めて作業が簡単になります。クロスコンパイルビルドの場合は、通常どおりビルド構成を設定する必要があります。例えば

./configure --host x86_64-w64-mingw32

MinGW-w64で構築されたDebianパッケージの例として使用できるパッケージがあります。libassuanそしてlibz他のものの間。

(私はDebianのMinGW-w64ツールチェーンマネージャです。)

関連情報