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

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

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

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

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

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

u011514451
hpu刘 谢谢,学习了
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
gcc for Linux 32位和64位
最近安装gcc,这里总结下,让大家一劳永逸少走弯路,节约时间。 附件的方法可以对应解决你的gcc依赖包问题,适应各种版本的Linux系统,也不区分64位还是32位均可找到你要的包 请按照如下方法更便捷自动安装gcc,无需四处搜集适合你系统的10几个依赖包,基本无需手动下载。
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
Linux64位子系统运行32位程序
操作步骤: sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install g++-multilib sudo apt-get install libncurses5:i386 sudo apt-get install libc6:i386 libgcc1...
64位的redHat linux运行32位的程序
64位的redHat linux运行32位的程序(C++),出现内存增长问题,请问各位有没有什么解决的办法?
64位Linux(ubuntu)安装、运行32位程序
ubuntu 64位版本,安装支持32位程序的二进制库。sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install zlib1g:i386 libstdc++6:i386 libc6:i386如果你使用的是比较老的ubuntu版本,可以安装ia32-libs来解决此问题。 sudo apt-get insta
64位linux不能运行32位程序,问题解决方案
问题由来交叉编译是嵌入式开发非常重要的(应该说是必须的)一个环节,但是最近在实体Linux机器上使用交叉编译工具却经常遇到一个问题:交叉编译工具版本正确,安装步骤正确,环境变量设置也正确,但是在运行arm-linu-gcc -v时却一直报bash: /opt/arm-2009q3/bin/arm-linux-gcc: 没有那个文件或目录的错误,很是郁闷,一番google终于发现了问题原因:我的Lin
64位ubuntu下运行32位程序
1. 运行环境 虚拟机:virtualbox 5.2.16 linux系统:ubuntu 18.04 64位 2. 编译报错 bash: ./cjpeg: No such file or directory 3. 解决办法 在terminal 依次输入如下命令: sudo dpkg --add-architecture i386 sudo apt-get update sudo ap...
64位Ubuntu16.04运行32位程序
在64位Ubuntu下安装32位应用程序所需要的库,然后就可以在64位Ubuntu下运行32位程序了。 sudo dpkg --add-architecture i386 sudo apt install libc6:i386 参考 https://askubuntu.com/questions/133389/no-such-file-or-directory-but-the-file-exi...
Linux在64位运行32位程序(安装32位库:rpm、deb)
记录: ------------------------------------------------------------------- centos7.x 安装了glibc:glibc-2.17-157.el7.i686 glibc-2.17 nodeps安装,即可运行cfgm2 -------------------------------------------------
64位的gcc能否编译出32位的程序?
我的gcc是4.10版的,默认情况下编译出来的是64位程序。可我现在需要编译出32位的,是否加上某个选项后就可以达到目的了?rn谢谢
Linux64位机器运行32位程序
sudo dpkg --add-architecture i386 apt-get install lib32z1参考: http://www.ubuntukylin.com/ask/index.php?qa=70&qa_1=ubuntu14-04%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C32%E4%BD%8D%E7%A8%8B%E5%BA%8F
linux 32位 gcc依赖包
通过积累保留的linux 32位 gcc各种依赖包
关于C#程序在WIN7 32位和64位环境下运行的条件
楼主自己写了个测试电路性能的小程序,之前是在XP环境下开发,现在碰到几个问题请大大们指导!rnrn1.有很多朋友指出改软件不支持win7的64位系统,由于楼主也没有对应的环境,所以一直没有测试过。rn2.偶有几个朋友说win7 32位系统也不能正常使用。rnrnrn楼主分析了下原因rn1. 程序应用了几个DLL,是否是DLL不兼容64位系统rn2. 楼主发布程序的时候是 安装文件+.NET farmework2.0 一起打包发布的,是不是win7用户在装了.NET farmework2.0后导致程序不能正常使用rn3. 和楼主的开发环境是否有关系,是选择Any CPU编译发布的rnrn最后就是请教下大家有桌面应用开发经验的,一般在XP环境过度到Win7环境都需要做哪些设置!需要检查哪些东西?rn不胜感激
gcc 64位Linux rpm包
gcc 64位Linux rpm包 包括 cloog-ppl-0.15.7-1.2.el6.x86_64.rpm cpp-4.4.7-4.el6.x86_64.rpm gcc-4.4.7-4.el6.x86_64.rpm gcc-c++-4.4.7-4.el6.x86_64.rpm glibc-devel-2.12-1.132.el6.x86_64.rpm glibc-headers-2.12-1.132.el6.x86_64.rpm kernel-headers-2.6.32-431.el6.x86_64.rpm libstdc++-devel-4.4.7-4.el6.x86_64.rpm mpfr-2.4.1-6.el6.x86_64.rpm ppl-0.10.2-11.el6.x86_64.rpm
go在64位环境下编译出32位程序
操作:      1.使用go env命令,查看系统的配置环境,可以看到GOARCH(当前系统)是amd64                          2.执行 set GOARCH=386 配置go输出系统平台为32位,此时再用go env命令查看系统的配置环境,如图:                        3.最后,大家直接使用go build 命令运行你得程序吧...
golang 64位linux环境下编译出32位程序
目标:在64位linux系统上编译出32位程序。操作:1.执行 go env 查看当前go环境配置          2.执行 export GOARCH=386 配置go输出系统平台为32位          3.go build 编译程序          4.使用file main 指令查看编译出的可执行程序是否为32位实践图片:...
jdk6 linux32位 linux64位 windows 64位
jdk-6u45-linux-i586.bin jdk-6u45-linux-x64 .bin jdk-6u45-windows-x64.exe Java SE Development Kit 6
关于linux环境下gcc的编译运行
在终端里我们进行编写代码时一般都是vim + 文件名,然后进行编写;但是当我们拿一个代码粘贴上之后,就会出现下面这种情况 是一堆没有缩进,没有空格的代码(我的是弄好了的,所以只是我自己故意打乱,大家意思一下就行), 或者是那种文字为乱码的情况。 如果代码较短,那自己可以编辑,但是如果代码较长,自己加缩进和空格就会花费很大时间了。 在这种情况下我们可以使用 gedit test.c ...
32位系统可以运行64位程序?
本人下载了一个项目的源代码程序,发现是64位的程序,但是我用的是xp系统(32位),用的是dev-c++编译工具, gcc版本为:gcc version 4.8.1 (tdm64-2)rnrnrn请问,32位系统可以[color=#FF0000]编译运行[/color]64位程序(项目)?rnrnrn谢谢各位!
64位linux编译32位应用程序,怎样设置???
我在64位Linux上使用gcc编译32应用程序,这个应用程序依赖一个32位动态链接库,所以需要编译成32位应用程序,该系统上只有支持64位编译的gcc,但是存在32位的lib库,请问如何设置才能编译该应用程序。rn命令:g++ -o test test.cpp -lmylib32rn报错:libmylib32.so 不兼容rn命令:g++ -m32 -o test test.cpp -lmylib32rn报错:找不到-lgccrn命令:g++ -m32 -o test test.cpp -lmylib32 -L/usr/lib/gcc32rn报错:/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib64/gcc/x86_64-rocky-linux-gnu/4.1.2/./crtbegin.o' is incompatible with i386 outputrn/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib64/gcc/x86_64-rocky-linux-gnu/4.1.2/./crtend.o' is incompatible with i386 outputrnrn怎样才能编译成功,尽量只是修改设置,不安装软件,因为发现安装软件总是报错。rn
64位ubuntu运行32位程序的方法
最近安装了64位的ubuntu系统,但交叉编译工具还是32位的,执行32位程序时,总是出现无法找到文件的问题. 解决方法:sudo dpkg --add-architecture i386 sudo apt-get update(没有上面两个步骤,下面会提示没有这样的安装包供安装)sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6
ubuntu 14.04 amd64位运行32位程序
由于64位linux不能直接运行32位程序,所以这里需要安装32位支持库。 step1: apt-get install ia32-libs step2:     若s1成功就好,若不成功,则需要看错误提示。我这里的情况是已有其它的软件包B替代了上述软件包,所以按照它的提示,安装它给出的可能的软件包B即可。祝你顺利。
shell脚本程序大神求解答!!
shell脚本程序什么时候要用空格隔开什么时候不用空格隔开,,什么时候要用$符号。
Ubuntu 64位机器上运行32位程序
在10.04方法是sudo apt-get install ia32-libs之后是$ sudo apt-get install lib32z1 $ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 引用: http://blog.csdn.net/ageme/article/details/26969575
64位Ubuntu运行32位程序及下载依赖库
嗯干活的时候就是会遇到一些奇奇怪怪的问题。 运行32位程序 在普通的64位Ubuntu机器上直接运行32位的ELF程序会出现这样的问题: yy@yy-DELL:~$ ./cjpeg 115.bmp bash: ./cjpeg: 没有那个文件或目录 然而目录下明明有这个文件,这是因为64位系统中缺少32位程序运行时必要的库。在Ubuntu12.04之前可以通过安装库ia32-libs来解...
linux中gcc使用
Linux中gcc使用 gcc下载 在linux中建议使用yum下载 命令: yum install gcc* -y 使用(举例c 执行程序不起名) 创建代码文件注意写后缀 [root@localhost test]# vim hello.c [root@localhost test]# gcc hello.c [root@localhost test]# ./a.out hello world...
64位Ubuntu 16.04运行32位程序
Android SDK的部分工具是64位的,部分则是32位的。在64位Xubuntu下安装Android SDK后不能运行mksdcard工具,然后Android Studio就有问题。在64位Ubuntu下安装32位应用程序所需要的库,然后就可以在64位Ubuntu下运行32位程序了。
64位XP系统可以运行32位程序吗?
如题。我想在64位XP上安装金山杀毒,但却装不了。提示版本不兼容?rn不是说64位可以运行32位程序的吗?有没有可以用的杀毒软件啊,不然要裸奔了。。。。。。rn谁能解释下64位XP是怎么控制32位和64位程序的运行的?rn
64位linux上支持运行32位程序的方法
在64位的Linux上运行32位程序的时候会出现这种情况: (1)执行bin文件时提示:No such file or directory (2)ldd bin文件  的输出为: not a dynamic executable (3)file bin文件 的输出显示程序是32位 2.解决方法 debian上只要安装 ia32-libs这个包(apt-
32位ArcSDE在64位Oracle环境中安装方法
32位ArcSDE在64位Oracle环境中安装方法
linux环境下gcc
cloog-ppl-0.15.7-1.2.el6.x86_64.rpm cpp-4.4.7-23.el6.x86_64.rpm gcc-4.4.7-23.el6.x86_64.rpm libgcc-4.4.7-23.el6.x86_64.rpm libgomp-4.4.7-23.el6.x86_64.rpm mpfr-2.4.1-6.el6.x86_64.rpm ppl-0.10.2-11.el6.x86_64.rpm
linux环境下的gcc
一. liunx系统基本命令在liunx环境下,有很多基本命令,下面带领大家认识一下常见的命令。 ls命令 ls命令 // list 列出当前文件夹的所有文件 -l :列出长数据串,包含文件的属性与权限数据等 -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用) -d :仅列出目录本身,而不是列出目录的文件数据 -h :将文件容量
64位Kali Linux 下编译32位c程序
首先需要更换源(如果安装软件包出错) 然后终端输入如下命令 sudo apt-get install build-essential module-assistant   sudo apt-get install gcc-multilib g++-multilib 编译的时候带上 -m32 就可以了...
看我linux(ubuntu)下的64位编译器编译32位程序
大家看到这个不要好奇,我也是在分析结构体大小时想到的, 我们大家都知道在windows底下,我们想编译一个c程序(用64位和32位分别编译,特别不方便),除非是双系统,或者虚拟机,但是装这些有时候挺麻烦的, 但是但是,在linux底下这可是很方便的, 我们来看: 一    .查看当前linux系统到底是多少位!!!       方法1: getconf LON
linux 64位机编译32位程序
gcc 编译32位程序: gcc -m32 aa.c -o aa 遇到的错误: /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libc.so when searching for -lc 这样的错误是因为编译器没有找到合适的so库。 所以,要安装编译器中的库: sudo apt-
mfc unicode环境下的问题,求大神解答!
[code=c]rn typedef structrn rn int num,rn xo, yo,rn xa, ya,rn xb, yb,rn xc, yc,rn index,rn a_link,rn b_link,rn c_link,rn type;rn TCHAR name[MA];rn DAOCHAR, *DAO;rn DAOCHAR m_tDaoChar;rn DAO m_dao;rnrnrnrn vector vec;rn memset(m_dao[i].name, 0, sizeof(m_dao[i].name));rn strcpy_s(m_dao[i].name, strlen(vec[13].c_str()) + 1, vec[13].c_str());rn ++i;rnrnrnrn[/code]rn在多字节环境下运行没毛病,但是领导一定让我改成unicode环境下运行,这个时候strcpy_s()这个函数就报错了:没有与参数列表匹配的重载函数“strcpy_s()”,参数列表类型为:,具体就是这个问题!请帮我解答,自己已经弄了半天了实在整不出来了!谢谢!请把您的代码写出来!
32位程序转64位
本人菜鸟一个,需要把32位程序移植到64位,可是运行时就出现了错误。rnrn以下是出现错误的语句:rn mqid = msgget(0x10000007, 0666);rnrn这个16进制数值怎么改才可以啊???rnrnrn求各位指点!!!!
BCB环境下诡异问题,求大神解答!
大家好,bcb环境下,有一个vector,元素是一个结构体,结构体中又有一个vector,这样用会出问题吗?有人实际使用过吗?rn会出现push_back(),元素赋值,访问的错误,很是迷惑,vs下面不会出现这种问题,求解!rn
兼容32位和64位程序
刚用C#连Access2010,死活连不上,提示说未安装提供程序,后来把平台设成32位,OK连上了,可是问题来了,我还有一些其他库是64位的咋办
32位及64位程序的问题
二者具体的区别是什么?rn下载sdk的时候,现在一般有32位或者64位的版本,我还是习惯下32位的,vs新建项目默认的目标机器似乎也是针对x86而不是x64rnrn我使用32位的,会对程序的性能、瓶颈等造成影响吗?rnrn话说64位程序指针是不是占8个字节了
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制