私は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
残念ながらdpkg
MinGW-w64ターゲットにはサポートされているアーキテクチャはありません。dpkg-buildpackage
そのため、他のサポートされているアーキテクチャなどの単純なクロスビルド設定では使用できませんdpkg
。 MinGW-w64クロスコンパイラを提供してもgcc
作業を簡素化することはできませんg++
。クロスコンパイル設定には、ツールチェーンプレフィックスの知識が必要です。
実際には各依存関係を手動で構築する必要があり、可能であれば対応するDebianパッケージから始めて作業が簡単になります。クロスコンパイルビルドの場合は、通常どおりビルド構成を設定する必要があります。例えば
./configure --host x86_64-w64-mingw32
MinGW-w64で構築されたDebianパッケージの例として使用できるパッケージがあります。libassuan
そしてlibz
他のものの間。
(私はDebianのMinGW-w64ツールチェーンマネージャです。)