我的.deb包,内置在32位Ubuntu和用gcc编译含有可执行文件,不会对OS的64位版本的安装(该错误消息表示"错误的架构的i386").这让我感到困惑,因为我认为通常32位软件可以在64位硬件上运行,但反之亦然.
我是否可以使用我的32位机器生成一个可以在64位操作系统上安装的.deb文件?难道仅仅是一个使用适当的编译器标志产生的可执行文件(如果有的话,它们是什么)的事情,或者说是的.deb文件本身以某种方式具体到一个处理器架构?
deb安装程序可能拒绝安装您的软件包,因为它(正确地)标记了具有冲突的Architecture:字段.i386代码可以在amd64机器上执行,但它需要存在所有适当的依赖项(32位库等).为每个体系结构构建单独的包更好.
是的,您可以在32位计算机上构建64位.它被称为交叉编译,它要求您为此目的创建构建环境.首先,您可能需要查找dpkg-cross和apt-cross工具.
或者,您可以只安装运行64位操作系统的虚拟机,并在那里为您的辅助架构进行构建.