c - 如何在 64 位机器上构建 32 位 (i386) .deb?

标签 c ubuntu 32bit-64bit deb

我的应用程序可以使用 -m32 开关(在 DMD 和/或 GCC 中)成功编译以生成:

appname: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked
(uses shared libs), for GNU/Linux 2.6.15, not stripped

我创建的源代码包在 32 位和 64 位 Ubuntu 上运行良好,可以构建适当的二进制 .debs。

我想在我用来生成 64 位 .deb 的同一台 64 位机器上生成 i386 .deb。

这可能吗?我应该在哪里寻找说明?

最佳答案

答案取决于构建的复杂性。当普通的 64 位用户空间工具足以构建时,只需通过 -a 指定架构

debuild -ai386

但是,通常情况下这不起作用,在这些情况下您将需要 pbuilder。 pbuilder 在 chroot 环境中构建一个干净的 Debian/Ubuntu 系统。 man pbuilder 是一个很好的介绍。要开始,您需要:

sudo pbuilder --create --architecture i386
sudo pbuilder --build mypackage.dsc

关于c - 如何在 64 位机器上构建 32 位 (i386) .deb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7939971/

相关文章:

c++ - 为什么 Visual Studio 在 64 位平台上链接 MSVCR90.dll (x86)?

c# - 从 64 位应用程序调用 32 位 DLL 的函数

c - C 中的指针、文件和内存管理

c - 堆栈的内存地址

linux - 缺少 perl 模块,在 Kubuntu 中安装 kh coder

node.js - nodejs和angular的yeoman权限问题

c - 32 位系统中积分算法更快

c - 使用 fscanf 读取文件时出错

使用 pthread_exit() 返回 retval 时编译警告

linux - cpio 在为 live 重新打包 initrd.lz 时工作不正常