搭建交叉编译(mingw)环境

搭建交叉编译(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)?

答案1

很遗憾dpkgMinGW-w64 目标没有支持的架构,因此您不能dpkg-buildpackage像其他dpkg支持的体系结构那样在简单的跨构建设置中使用。您也不能通过提供 MinGW-w64 交叉编译器作为gcc和 来简化事情g++;交叉编译设置需要了解工具链前缀。

在实践中,您需要手动构建每个依赖项,可能从相应的 Debian 软件包开始,如果这样可以让生活更轻松的话。您必须像往常一样设置构建配置以进行交叉编译构建,例如

./configure --host x86_64-w64-mingw32

Debian 中有一些使用 MinGW-w64 构建的软件包,可以作为示例;看libassuanlibz除其他外。

(我是 Debian 中的 MinGW-w64 工具链维护者。)

相关内容