AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 595226
Accepted
Name is carl
Name is carl
Asked: 2015-03-11 10:42:29 +0800 CST2015-03-11 10:42:29 +0800 CST 2015-03-11 10:42:29 +0800 CST

如何使用 debuild 在我的 amd64 笔记本电脑上构建 i386 和 amd64 包

  • 772

我希望能够构建具有重要依赖项(gtk 等)的包的多个版本(i386和)。amd64

我的构建脚本使用cmake.

目前,该命令debuild -i -us -uc -b仅建立amd64在我的 ubuntu 64 位发行版上,我还没有安装任何交叉编译工具链。

如何为两个平台构建二进制文件?

packaging
  • 1 1 个回答
  • 6335 Views

1 个回答

  • Voted
  1. Best Answer
    Name is carl
    2015-04-16T02:15:38+08:002015-04-16T02:15:38+08:00

    打包(即debuild)在这里不是困难的部分:构建应用程序才是。

    有很多方法可以i386在 64 位系统上构建二进制文件

    使用 32 位虚拟机

    通过virtualbox安装一个很简单。

    这是迄今为止最简单的,但会占用大量磁盘空间,并且您需要从头开始设置整个系统。

    设置 chroot

    这个想法是在您的 64 位设置中创建一个最小的 i386 沙箱。

    您将在 chroot 中安装应用程序的所有构建工具链和 i386 依赖项,并从那里执行构建。

    这种方法比 vm 方法更轻,并且提供了很好的隔离。

    Kaizou 教程清楚地解释了如何做

    准备构建 gtk vala 应用程序的 chroot 将在您的硬盘驱动器上吃掉大约 700M。

    使用交叉编译

    只要您安装了 multilib 工具链,cmake 就能够轻松构建您的应用程序。

    可以通过安装 multilib 工具链

    sudo apt-get install g++-multilib 
    

    然后你必须为m32cmake 指定参数,这样它就可以构建 i386 二进制文件,这很容易。

    当然,您需要在计算机上安装应用程序依赖项的所有 i386 变体。

    如果apt众神与你同在,这可以通过以下方式完成:

    dpkg --add-architecture i386 
    apt-get update
    apt-get install libgtk-3-dev:i386 libgee-0.8-dev:i386 ...
    

    完成后,您可以将闪亮的i386二进制文件打包为

    debuild -ai386 -i -us -uc -b
    debuild clean   
    
    • 4

相关问题

  • 什么是最简单的 Debian 打包指南?

  • 我的 PPA 的身份验证问题

  • 为自定义 PPA 修补 Wine 的正确方法是什么?

  • 我如何创建自己的 php 5.3.3 包/ppa?

  • 当上游维护者似乎不活跃时,如何将补丁应用于包?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve