64位ubuntu编译32位程序

64位ubuntu编译32位程序 如上使用C4这个小工具时遇到来需要仿真32位系统的需求,发现使用-m32参数后,编译提示错误,如下:

/usr/bin/ld: 未知的仿真模式: 32 支持的仿真: elf_x86_64 elf32_x86_64 elf_i386 i386linux elf_l1om elf_k1om i386pep i386pe collect2: error: ld returned 1 exit status 首先要打开64位系统对32位的支持

第一步:确认64为架构的内核

dpkg --print-architecture

输出: adm64 说明已拥有64位架构内核。

第二步:确认打开了多架构支持功能

dpkg --print-foreign-architectures

输出: i386 说明已打开,如果没有需要手动打开

打开多架构支持

sudo dpkg --add-architecture i386 sudo apt -get update sudo apt-get dist-upgrade 如此这般你就拥有了64位系统对32位的支持

其次是安装gcc multilab

apt-get install gcc-multilib g++-multilib

时间: 2024-10-07 20:22:37

64位ubuntu编译32位程序的相关文章

64位ubuntu安装32位jdk

转自:http://blog.csdn.net/anladeyatou/article/details/8213334 ubuntu-11.10-desktop-amd64 jdk-6u23-linux-i586.bin 今天在64位的ubuntu下装32位JDK死活装不上 报错 ./jdk-6u7-linux-i586.bin: 480: ./install.sfx.2354: not foundFailed to extract the files. Please refer to the

64位ubuntu下装32位软件

本帖最后由 wuy069 于 2013-10-25 12:28 编辑很多软件只有32位的,有的依赖32位库还挺严重的:从ubuntu 13.10已经废弃了ia32-libs,但可以使用多架构,安装软件或包apt-get install program:i386.有的还是觉得烦,想一步到位安装所有的以前的ia32-libs,可以使用以下方法: sudo -i cd /etc/apt/sources.list.d echo "deb http://archive.ubuntu.com/ubuntu/

怎样打开64位 Ubuntu 的32位支持功能?

大多数使用基于 Ubuntu/Debian 的发行版的人都更倾向于选择64位的系统,对吧?这是因为64位的系统能够充分发挥你的硬件的全部性能, 它使你能够在更紧张的内存资源下使用更复杂的软件,而且是真的快速使用,不必每次做一件小事都要等上许久.现在,32位仅有一个优点,那就是没有太多兼容 性上的问题.每次JAVA更新都很让人很困惑,因为大多数用户都不能获得需要的库文件.在过去,很多别的软件和驱动也没有64位版. 因此, 如果现在你有一个64位架构的系统,而且你可以使用之前的支持:包括驱动.64位

64位Ubuntu运行32位程序时报文件不存在(No such file or Directory)的一种解决办法

尝试在64位Ubuntu下面运行32位程序时, 一直说 文件不存在(No such file or directory), 我只想说++. 你tm说个文件格式不正确不就好了? 非得说个文件不存在! 真的不存在? 我要是找出来了, 你给我吃了? jesus, 害我浪费这么多时间. 一种解决办法: 安装32位运行库: sudo apt-get install ia32-libs

64位SUSE编译32位程序出错

These `-m' switches are supported in addition to the above on AMD x86-64 processors in 64-bit environments. -m32 -m64 -mx32 Generate code for a 32-bit or 64-bit environment. The -m32 option sets int, long and pointer to 32 bits and generates code tha

Win7旗舰版64位下编译32位的带CGO的GoLang程序

开发过程中,遇到一个问题. 客户服务器端为32位Windows系统,软件系统必须编译成32位系统才能在客户端正常运行. 本人开发环境: Win7旗舰版64位 Golang 1.8 64位 TMD-GCC5.1 64位 在此情况下,使用批处理文件如下: set GOOS=windows set GOARCH=386 set CGO_ENABLED=1 go build pcms pause 系统调用go-sqlite3,使用cgo调用,会报出编译错误,原因就是gcc调用的异常 使用交叉编译的方式总

64位linux编译32位程序

安装一些东西就ok了 刚开始时一直编译不成功,后来发现不能生成32位程序: 安装: 编译成功: 原文地址:https://www.cnblogs.com/qy-blogs/p/9902338.html

64位gcc编译32位汇编

由于使用as和ld来编译链接汇编程序,在使用C库的时候比较麻烦,需要输入比较多的指令,所以使用gcc进行编译链接.由于书中内容是32位汇编程序,但是机器使用的是64位操作系统,自带的gcc也是64位的,导致编译生成的程序,一运行就会Segment Fault.经过查询之后,发现是调用printf函数的时候,总是报错,查询之后发现是32位汇编和64位汇编在调用C库的时候,32位使用pushl指令来压栈传递参数,而64位汇编是使用通用寄存器来传递参数的. 32汇编的代码是: 1 .code32 2

ubuntu 64位android项目报错的解决方案,打开64位 Ubuntu 的32位支持功能

ubuntu的64位下的android环境,说实话,还真得费点精力了,解决一个问题,又出来一个新问题. 小编昨天刚好不容易将android的环境搭建好了,这不,刚建了个项目,直接就报错,下面是罗列出的几条: 1. libstdc++.so.6:cannot open shared object file:no such file or directory 2. Description Resource Path Location Type Error executing aapt: Cannot