brrq.net
当前位置:首页 >> 如何在64位linux强制编译32位应用程序 >>

如何在64位linux强制编译32位应用程序

编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序。编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出现下面的错...

理论上安装支持环境,之后 64 位的 gcc 编译成 32 位程序,就加 -m32 参数即可。 当然还一个办法是装个 32 位的 gcc 。 另外,交叉编译也适用于 x86 架构。 不过这么编译经常会出现各种问题,所以编译 32 位的程序,最好还是用 32 位系统。 不一定重...

这个比较麻烦。 首先你要装好全套的 32 位对应的开发编译支持环境和对应的运行环境,之后还要设置你这个软件编译时用 32 位的参数和 32 位的编译器。 你这个其实等同于交叉编译。

常规做法,先添加32bit架构: sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 然后,你再安装或者直接运行你的32位程序。

32位版:加上 -m32 参数,生成32位的代码。 64位版:加上 -m64 参数,生成64位的代码。

在64位的Linux下,gcc 编译 32 位程序需要添加参数 -m32 ,ld需要添加参数是 -m elf_i386。 1、Along with the -m32 flag in gcc, you may need to include the -melf_i386 flag for ld to properly link the 32bit object files to the 32bit l...

在64位的Linux下,gcc 编译 32 位程序需要添加参数 -m32 ,ld需要添加参数是 -m elf_i386。 1、Along with the -m32 flag in gcc, you may need to include the -melf_i386 flag for ld to properly link the 32bit object files to the 32bit l...

使用下面两条命令编译 setarch i386 ./Configure --prefix=/usr linux-generic32 -m32 shared make 在编译过程中可能会碰到错误输出,可能是有些依赖库找不到 需要把输出粘出来看看。 另外,提问最好说明你的Linux是什么发布版,这样其它人好提...

安装gcc 安装gcc-multlib 编译的时候加参数 -m32 其他依赖库可以安装。 此外可以使用容器技术,chroot技术,交叉编译。 使用虚拟机也是可以的,有性能损失,可能会引入一些错误。

可以的。 编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序。 编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出...

网站首页 | 网站地图
All rights reserved Powered by www.brrq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com