如何在64位版本Linux上开发运行32位应用程序

最近换了Linux系统,由i686换成了x86-64,导致在进行开发的时候出用不了原来SDK中32位的开发工具。于是,博主找到如下文章,博主亲测实用:

如何在64位版本Linux上开发运行32位应用程序

内容如下:



很多程序员(特别是别的公司的)跟我抱怨说他们32位软件无法在我们的64位Linux系统上正常运行,而在他们32位机上正常,其实这个很好解决,一般 是64位系统安装后没有默认安装glibc的32位版本,通过简单的执行以下命令即可实现在64位Linux系统上开发运行32位应用程序,而不用重新安 装操作系统。

yum install glibc*.i686 -y

如果还提示少某个so文件,安装对应的库,如提示缺少libz.so,则安装libzip以及libzip-devel的64位和32位版本,如果提示缺少libssl.so则安装openssl以及openssl-devel的64位和32位版本,命令行如下:

yum install libzip libzip-devel -y
yum install libzip.i686 libzip-devel.i686 -y
yum install openssl openssl-devel -y
yum install openssl.i686 openssl-devel.i686 -y


如果出现:i386 architecture of input file xxx.o is incompatible with i386:x86-64

则很有可能是原来编译的 *.o 文件没有清除掉。将其清除后再编即可~

时间: 2024-08-02 15:14:15

如何在64位版本Linux上开发运行32位应用程序的相关文章

64位系统里的IIS运行32位ODP.NET的方法

在64位Win7里的IIS里部署使用了ODP.NET的网站,Oracle的版本是11.20.3.20.直接部署会提示错误:在64位环境里使用了32位的程序.自己折腾了两天,最后才从别人的博客里找到解决方案:http://blog.sina.com.cn/s/blog_591f3ba1010175as.html 解决方案是:在IIS里新建一个启用了32位应用程序的应用程序池(默认设置为不启用),ASP.NET的版本为4.0,然后指定发布的网站采用这个32位应用程序池即可.

如何在ubuntu 64 11.04 上运行32位程序

在网上查了很多资料,发现在在ubuntu 64 11.04 上运行32位程序要装一个ia32-libs的包,可执行如下命令,却提示无法安装 apt-get install ia32-libs 难道11.04的安装源给整坏了!!! 经过查了很多很多的外国网站,找到很多方法,都无效! 最后找到一种,将就可以用 apt-get install libstdc++6 apt-get install lib32stdc++6 apt-get install lib32z1 在这里深深的鄙视百度,你搜索出来

在64位主机上编译产生32位的目标代码

   今天又看CS630[1]的Chapter 15,发现里头的一个例程manydots.s无法正常编译. $ gcc manydots.s -o manydots /tmp/ccIvmRVT.o: In function `_start': (.text+0x0): multiple definition of `_start' /usr/lib/gcc/x86_64-linux-gnu/4.3.1/../../../../lib/crt1.o:(.text+0x0): first defin

Linux判断CPU是32位还是64位,判断系统是32位还是64位

from:http://www.ipcpu.com/2010/08/linux-cpu-32-64/ 本文仅限于服务器CPU和Linux系统讨论,与台式电脑.笔记本无关. 32位.64位不能乱装,64的能装32位的,因为64位的CPU可以兼容32位,32位的装不了64位的.最近部署了MongoDB,系统是32位的提示会有最大文件2G的限制.还有最常见的问题32位系统不支持4G以上内存,即使打PAE效率也受影响. 1.判断CPU是32位还是64位 这个问题比较有意思,网上给出的办法都是判断了系统的

Win7 64位系统上配置使用32位的Eclipse(转)

Win7 64位系统上配置使用32位的Eclipse 博客分类: Eclipse eclipse 最近工作电脑换成了64位的win7系统,之前个人电脑上安装的jdk和Eclipse都是32位的.而新的工作电脑上安装的JDK是64位的,因 为原来的Eclipse自己安装了很多的插件和个性化配置,不想重新安装64位的Eclipse,所以想在64位的win7系统上继续使用原来的32位 Eclipse. 32位的Eclipse无法和64位的jdk搭配使用,但是我又不想仅仅为了适配Eclipse而只安装3

64位系统上运行32位程序能否申请到8G内存?

申请不到,因为64为系统在运行32位程序的时候只是为了向下兼容而已,对于32位程序来讲,申请8G的存储空间没有任何意义,因为32位的程序最大寻址空间只有4G,32位程序在编译之后的机器代码也只有32位的寻址数(指针占4个字节),因此申请8G的空间是没啥意义的,而且一般系统都会为每个进程设置一些资源限制,对于32位程序其能申请的内存量也远远小于4G可以看一下下面这个表操作系统内部数据结构限制对比 IT168评测中心 分组 限制 64位Windows限制 类别 单个进程虚拟空间 4GB 16TB 用

Linux(Red Hat 6 32位) 下安装Mysql5.6.30

1. 下载MySQL 5.6 下载页面:http://dev.mysql.com/downloads/mysql/ 此处选择"Red Hat Enterprise Linux 6 / Oracle Linux 6 (x86, 32-bit), RPM Bundle"下载,下载至/root/fuxian/目录下,下载文件名为"MySQL-5.6.30-1.el6.i686.rpm-bundle.tar" 2. 解压tar包 cd /fuxian/Downloads/

Linux上的运行的jar包

以调用json-simple为例 java程序(CsvTest.java) import org.json.simple.JSONObject; import java.util.*; public class SplitDemo { public static void main(String[] args) { JSONObject obj = new JSONObject(); } } 放置 将外部jar包(json-simple.jar)放在Linux路径下面.如/home/cys/li

linux上的第一个c语言程序

1.编辑源文件 输入命令如下: [email protected]:/home/amy# vi hello.c 文件内容如下: #include<stdio.h> int main() { printf("hello world!\r\n"); } 2.编译hello.c文件 [email protected]:/home/amy# gcc hello.c -o hello2.1.报错如下 The program 'gcc' can be found in the foll