Linux32位可以不可以编译出64位的软件

我之前向一些网友问过这个问题,当时说的是可以不可以在Ubuntu里面编译出64bit的内核文件,因为我在.config文件里面看到了这个选项,当时得到的回复是可以的,但是... 我之前向一些网友问过这个问题,当时说的是可以不可以在Ubuntu里面编译出64bit的内核文件,因为我在.config文件里面看到了这个选项,当时得到的回复是可以的,但是需要特殊的设定,所以比较困难,
现在我希望把这个问题推广一下,变成可以不可以在32位的Linux里面编译出64位的软件的方法。
因为我要编译的一些软件需要位使用32bit和64bit位不同系统的人群提供支持,
如果可以在32bit的系统里面完成,我就不安装64bit的Linux了。
谢谢!!!
@我这个私下里是非常希望可以的呦@
展开
 我来答
匿名用户
2015-03-01
展开全部
可以的。
编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序。
编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出现下面的错误
In file included from /usr/include/features.h:378,
from /usr/include/assert.h:37,
from ../../../include/tinyxml/tinystr.h:42,
from ../../../src/tinyxml/tinystr.cpp:32:
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: 没有那个文件或目录
这时候需要安装 gcc所有支持文件 sudo apt-get install gcc-multilib
将会安装下列额外的软件包:
cpp-4.4 g++-4.4 gcc-4.4 gcc-4.4-base gcc-4.4-multilib lib64gcc1 lib64gomp1 libc6-amd64 libc6-dev-amd64 libgcc1 libgomp1
libstdc++6 libstdc++6-4.4-dev
建议安装的软件包:
gcc-4.4-locales g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg libmudflap0-4.4-dev libgcc1-dbg libgomp1-dbg libmudflap0-dbg
libcloog-ppl0 libppl-c2 libppl7 lib64mudflap0 libstdc++6-4.4-doc
下列【新】软件包将被安装:
gcc-4.4-multilib gcc-multilib lib64gcc1 lib64gomp1 libc6-amd64 libc6-dev-amd64
下列软件包将被升级:
75_飞星
2015-03-01 · TA获得超过589个赞
知道小有建树答主
回答量:423
采纳率:66%
帮助的人:250万
展开全部
64位系统又不是不能运行32位软件,,,何必呢
追问
会有瓶颈和效率问题。谢谢您的回复!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式