Debian
建構交叉編譯(mingw)環境
我在 Debian 環境中工作,效果很好。如果我想建構一個項目,我
sudo apt install
會建構依賴項,然後建構。但是,我想使用 mingw-w64 從 Debian 環境進行交叉編譯。我沒有任何
-w64
版本的建構依賴項,所以我必須建構它們。有沒有一種方法
apt source <package>
,然後dpkg-buildpackage
使用特定的工具鏈?我猜
--target-arch
這接近我需要的,但我懷疑 w64 不是受支持的架構。我看到http://clang.debian.net描述了一種使用 clang 建構 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
)?
不幸的是,MinGW-w64 目標沒有
dpkg
-supported 架構,因此您不能dpkg-buildpackage
像其他支持的架構那樣在簡單的交叉建構設置中使用dpkg
。您也不能通過將 MinGW-w64 交叉編譯器提供為gcc
和來簡化事情g++
;交叉編譯設置需要了解工具鏈前綴。在實踐中,您需要手動建構每個依賴項,可能從相應的 Debian 軟體包開始,如果這樣可以讓生活更輕鬆。您必須像往常一樣為交叉編譯的建構設置建構配置,例如
./configure --host x86_64-w64-mingw32
Debian 中有一些帶有 MinGW-w64 建構的軟體包,可以作為範例;見
libassuan
等等libz
。(我是 Debian 中的 MinGW-w64 工具鏈維護者。)