怎样在64位的linux环境中使用gcc/g++运行32位的程序,求大神解答

怎样在64位的linux环境中使用gcc/g++运行32位的程序,求大神解答

0

2个回答

debian上只要安装 ia32-libs这个包(apt-get install ia32-libs)就可以了。
$ sudo apt-get install ia32-libs
正在读取软件包列表... 完成
正在分析软件包的依赖关系树

正在读取状态信息... 完成

有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
ia32-libs : 依赖: ia32-libs-i386 但无法安装它
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install ia32-libs

0
u011514451
hpu刘 系统中安装的有,只不过我太水不会用,还好已解决谢谢。
接近 3 年之前 回复

你这是编译32bit程序,安装gcc编译器的时候,选择安装32和64开发包,然后编译的时候设置-m32

http://blog.chinaunix.net/uid-20749137-id-718719.html

0
u011514451
hpu刘 谢谢,学习了
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
32位arm-linux-gcc无法在64位系统上运行
很多开发板厂家提供的是32bits的编译器,而现在很多人使用的是64位linux,当解压编译器压缩包,并且加入到环境变量后,提示没有这样的文件等问题 在Ubuntu 64上需要安装lib32ncurses5,使用如下命令: sudo apt-get install lib32ncurses5
Kali 64位 安装32位库并编译程序
Kali 64位 安装32位库并编译程序1.启用兼容模式 dpkg –add-architecture i386 2.升级一下 apt-get update 3.安装 apt-get install libc6:i386 下面编译环境安装,否则可能报错 apt-get install gcc-multilib apt-get install g
如何在linux 32位机器编译64位程序
编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序。 编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出现下面的错误 In file included from /usr/include/features.h:378, fr
redhat 64位下安装gcc-c++ 以及编译32位代码
本文转载自:glwu_1027的博客 第一次接触linux就是redhat9卡哇伊的小红帽。不过没认真学,老师讲的还是蛮认真的。奈何,老师就是在讲操作技巧,没什么兴趣。 一直都以为redhat是免费,原来企业版它是不免费的,好多功能非要注册才能使用。CentOS是开源免费版,好用,实在我喜欢。 但是没办法,有时候现实逼迫你用阉割版的redhat,我也没有什么办法 昨天装了red
64 位Ubuntu下用32 位的Qt GCC 编译程序
64位Ubuntu下用32位的GCC编译SCPI解析程序。一、多架构支持1.确认64位架构的内核输入dpkg --print-architecture显示 amd64 确认为64位架构内核2.确认打开多架构支持功能(出现32位依赖问题时,安装32位的包) 输入dpkg --print-foreign-architectures 显示 i386确认多架构 如果没有多架构:输入sudo dpkg --...
64位的GCC 编译32位程序
64位的GCC 编译32位程序 编译32的程序,只需要加上-m32就可以了 gcc -m32 llong.c 但是提示下面的错误 /usr/bin/ld: 当搜索用于 /usr/lib/gcc/x86_64-linux-gnu/5/libgcc.a 时跳过不兼容的 -lgcc /usr/bin/ld: 找不到 -lgcc /usr/bin/ld: 当搜索用于 /usr/lib/g
64位Linux上编译32位软件
第一步:准备环境
在64位ubuntu,使用GCC编译32位应用程序报错,解决办法
sudo apt-get updatesudo apt-get purge libc6-devsudo apt-get install libc6-devsudo apt-get install libc6-dev-i386然后再使用gcc -m32
linux(ubuntu)下的64位编译器编译32位程序
大家看到这个不要好奇,我也是在分析结构体大小时想到的,我们大家都知道在windows底下,我们想编译一个c程序(用64位和32位分别编译,特别不方便),除非是双系统,或者虚拟机,但是装这些有时候挺麻烦的,但是但是,在linux底下这可是很方便的,我们来看:一 .查看当前linux系统到底是多少位!!!方法一: getconf LONG_BIT方法二:我觉得这是最简单的东西了:也好记:unam
在64位kali下编译32位程序
在64位kali下,使用带了“-m32”参数的gcc命令将c文件编译为32位的程序时出错,如下图:     百度了一个,有人提出用“sudo apt-getinstall lib32readline -gplv2 -dev”命令安装32位环境,但执行该命令后提示错,如下图: 又有人提出用“sudo apt-getinstall lib32readline -dev”命令安装32位环...
64位Kali和Ubuntu安装32位运行环境和编译环境
安装32位运行环境 这里使用kali的原始更新源,使用命令: leafpad /etc/apt/sources.list 在文本中输入: deb http://http.kali.org/kali kali-rolling main non-free contrib 保存文本后关闭,再打开文本可以看到如下内容: 接下来执行下列命令: 1. 启用兼容模式:dpkg –...
Linux 64位安装32位编译库
在64位Ubuntu下编译32位程序容易出现很多问题,主要是编译库不对
centos64位编译32位程序问题
在centos64位上面编译32位程序的时候遇到编译不过的问题,解决过程如下: 1.编译遇到错误,提示错误如下: [root@localhost code]# make In file included from /usr/include/features.h:399:0, from /usr/include/stdint.h:25, ...
64位linux不能运行32位程序,问题解决方案
问题由来交叉编译是嵌入式开发非常重要的(应该说是必须的)一个环节,但是最近在实体Linux机器上使用交叉编译工具却经常遇到一个问题:交叉编译工具版本正确,安装步骤正确,环境变量设置也正确,但是在运行arm-linu-gcc -v时却一直报bash: /opt/arm-2009q3/bin/arm-linux-gcc: 没有那个文件或目录的错误,很是郁闷,一番google终于发现了问题原因:我的Lin
64位Ubuntu上编译32位程序
1.确认主机为64位架构的内核,应该输出为adm64,执行:$ dpkg --print-architecture2.确认打开了多支架功能,应该输出为i386,执行:$ dpkg --print-foreign-architectures如果没有,则需要手动打开,依次执行:$ sudo dpkg --add-architecture i386 $ sudo apt-get update $
ubuntu 64上的GCC如何编译32位程序
运行命令 gcc -v 显示: Target: x86_64-linux-gnu 所以,我这里的gcc默认生成64位的程序。 如果想编出32位的程序,就要加 -m32选项。可以我尝试了,还是不行。 原来,需要安装东西。 $ sudo apt-get install build-essential module-assistant   $ sudo apt-g
X86_64机器编译运行32位程序
在最近的模拟器项目中,遇到了X86_64机器编译运行32位程序 的问题,感觉挺有意思的! 在操作这个模拟器时,以前都是在32位机器上编译运行的,运行一切ok! 可是,实验室换新电脑了,是64位的! 而且因为模拟器是32位系统上的,并不兼容64位系统,因此模拟器能且只能在32位系统上运行! 其实,32位与64位差别并不是太大,比如short,int类型(int(包括i
在64位的ubuntu 14.04 上开展32位Qt 程序开发环境配置
介绍中64位Linux配置32位开发环境经验
64位 linux操作系统下如何编译和运行32位源码
1. 安装需要的库 X86_64 的 Redhat / Centos / Scientific 下面,若要编译、运行32位程序,需要安装以下包: yum install libgcc.i686 yum install glibc-static.i686 yum install glibc-devel.i686 2. 编译器需要添加选项 gcc -m32 -c qljt.
在64位ARM板卡上运行32位动态链接的应用程序的方法
1、增加32位体系结构 $sudo dpkg --add-architecture armhf 2、安装此体系结构对应的c库 sudo apt install libc6:armhf 3、执行32位应用程序,如果程序报告找不到标准库,则手动指定32位标准库路径 LD_LIBRARY_PATH=/usr/armhf-libs   ./a.out PS: ldd本身
在64位linux下编译32位程序
一般情况下我们最好是在一个平台上编译本平台的二进制程序,比如在32位平台上编译32位程序而在64位平台上编译64位程序。    现在64位的系统(这里主要指x86_64系统,包括AMD64和Intel的EM64T)已经开始广泛的使用起来了,甚至于你现在要是想买32位的Xeon根本就没有。64位的系统在性能和处理能力上相对32位系统也都有很大的提高。所以现在很多用户已经选择使用64位的系统了。
arm-linux-gcc不能再64位os下编译32位库的问题
libstdc++.so.6: cannot open shared object file: No such file or directory: error while loading shared libraries: libz.so.1 解决libstdc++.so.6: cannot open shared object file: No such file or directory...
Linux中 64位系统 和32位代码的问题(转载)
这里首先用64位系统编译32位代码 GCC -m32 test.c的编译命令,发现编译不通过   下面是 RedHat系列:Redhat、Centos、Fedora 而Debian系列:Debian、Ubuntu在帖子下方也有编译方法   先写个hello world的简单程序 gcc -m32 a.c 先确保a.c能够编译链接成功,再去编译你的32位程序。   [root@lo...
gcc编译32位(64位)程序
gcc编译32位(64位)程序 1.gcc编译32位程序命令 gcc -m32 test.cpp -o test.out 如果命令出错,可能是没有安装必要的软件包,加上下面两行命令即可(需要管理员权限)
解决ubuntu 64位系统 无法运行32位程序的问题
ubuntu 64位运行32位可执行文件
如何在64位linux强制编译32位应用程序
原文地址: GDC注:我使用的方法是方法一,具体为 方法一: 首先需要安装32位的兼容库 apt-get install ia32-libs libc6-dev-i386 linux32 1.用linux32命令在configure时改一下CHOST,设置一下编译环境 $ linux32 ./configure #系统类型将变为:i686-pc-lin
64位Centos7上汇编运行32位程序
64位Centos7上汇编运行32位程序首先贴上源代码。 .ld-linux.so.2是动态加载器用来查找libc.so的
64位centos7 编译 32位文件出错
[tian@lixixi demo]$ gcc -m32 str.c -o app /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgcc_s.so when s earching for -lgcc_s/usr/bin/ld: cannot find -lgcc_s collect2:
64位Kali Linux 下编译32位c程序
首先需要更换源(如果安装软件包出错) 然后终端输入如下命令 sudo apt-get install build-essential module-assistant   sudo apt-get install gcc-multilib g++-multilib 编译的时候带上 -m32 就可以了...
64位Ubuntu上编译32位程序操作步骤
64位Ubuntu上编译32位程序操作步骤
64位linux 系统运行32位程序解决方法
当你执行一个32位程序的时候,你可能会发现提示No such file or directory,这就是说明你的64位系统没有安装32位的lib库,如何知道一个程序是32位还是64位呢,也很简单,可以通过readelf来看。呃,如果你确定你执行的是32位程序,而你是64位系统,则出现No such file or directory错误就是因为你缺少了32位的库文件。解决方法也很简单
64位与32位linux c开发时默认字节对齐值
1、64位机器sizeof的值为16struct A{char a;int b;int c;}2、32位机器sizeof的值为123、空间换时间如果在编程的时候要考虑节约空间的话,那么我们只需要假定结构的首地址是0,然后各个变量按照上面的原则进行排列即可,基本的原则就是把结构中的变量按照类型大小从小到大声明,尽量减少中间的填补空间.还有一种就是为了以空间换取时间的效率,我们显示的进行填补空间进行对...
64位Linux系统编译32位汇编程序
64位Linux系统编译32位汇编程序的时候需要仿真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
gcc for Linux 32位和64位
最近安装gcc,这里总结下,让大家一劳永逸少走弯路,节约时间。 附件的方法可以对应解决你的gcc依赖包问题,适应各种版本的Linux系统,也不区分64位还是32位均可找到你要的包 请按照如下方法更便捷自动安装gcc,无需四处搜集适合你系统的10几个依赖包,基本无需手动下载。
Ubuntu 16.04 64 位下编译 32 位程序
在 Ubuntu 16.04 64 位 OS 环境下编译 32 位程序的解决办法
64位操作系统编译成32位可执行文件
sudo apt-get install lib32readline-gplv2-dev 然后 编译时加上 -m32 如:gcc a.c -m32
64位?32位?32位程序如何在64位linux下运行?
装的是64位Ubuntu12.04,而且刚把内核升到3.2.4,从网上下载了arm-eabi-4.4.3解压后却发现无法运行,运行时提示:No such file or directory 这可就奇怪了,明明是有的,问题提示不存在?仔细想想可能跟我64位系统有关系,查看arm-linux-gcc的信息: rebi@freedom:~/Downloads/arm-eabi-4.4.3/bin$
修复linux64位运行32位程序库依赖问题
修复linux64位运行32位程序库依赖问题: 修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题 1、在64系统里执行32位程序如果出现/lib/ld-linux.so.2:  bad ELF interpreter: No such file or directory,安装下glic即可 sudo
64位与32位系统中函数调用中寄存器使用规则
32位系统: Calling Conventions The x86 architecture has several different calling conventions. Fortunately, they all follow the same register preservation and function return rules: Functions must
在64位操作系统上运行32位的程序
运行 32 位程序 WOW64 子系统使 32 位程序能够在基于 x64 版本的 Windows Server 2003 和 Windows XP 专业 x64 版的运行而不用修改。WOW64 子系统是通过在基于 x64 版本的 Windows Server 2003 和 Windows XP 专业 x64 版的创建 32 位环境。WOW64 子系统有关的详细信息,请参阅 Microsoft
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java大神班 大数据大神班