我希望能够构建具有重要依赖项(gtk 等)的包的多个版本(i386
和)。amd64
我的构建脚本使用cmake
.
目前,该命令debuild -i -us -uc -b
仅建立amd64
在我的 ubuntu 64 位发行版上,我还没有安装任何交叉编译工具链。
如何为两个平台构建二进制文件?
我希望能够构建具有重要依赖项(gtk 等)的包的多个版本(i386
和)。amd64
我的构建脚本使用cmake
.
目前,该命令debuild -i -us -uc -b
仅建立amd64
在我的 ubuntu 64 位发行版上,我还没有安装任何交叉编译工具链。
如何为两个平台构建二进制文件?
打包(即
debuild
)在这里不是困难的部分:构建应用程序才是。有很多方法可以
i386
在 64 位系统上构建二进制文件使用 32 位虚拟机
通过virtualbox安装一个很简单。
这是迄今为止最简单的,但会占用大量磁盘空间,并且您需要从头开始设置整个系统。
设置 chroot
这个想法是在您的 64 位设置中创建一个最小的 i386 沙箱。
您将在 chroot 中安装应用程序的所有构建工具链和 i386 依赖项,并从那里执行构建。
这种方法比 vm 方法更轻,并且提供了很好的隔离。
Kaizou 教程清楚地解释了如何做
准备构建 gtk vala 应用程序的 chroot 将在您的硬盘驱动器上吃掉大约 700M。
使用交叉编译
只要您安装了 multilib 工具链,cmake 就能够轻松构建您的应用程序。
可以通过安装 multilib 工具链
然后你必须为
m32
cmake 指定参数,这样它就可以构建 i386 二进制文件,这很容易。当然,您需要在计算机上安装应用程序依赖项的所有 i386 变体。
如果
apt
众神与你同在,这可以通过以下方式完成:完成后,您可以将闪亮的
i386
二进制文件打包为