免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4686 | 回复: 11
打印 上一主题 下一主题

二进制文件跨平台 如何编译? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-05 21:04 |只看该作者 |倒序浏览
二进制跨平台, 很简单的。 就是一个二进制文件在win2000 win2003 winxp 上面运行都没有问题。

在linux 下面这反而成了个难题?



http://im.qq.com/qq/linux/download.shtml

你们可以看到qq 的linux 版本, 就是一个二进制文件。 也就是说这个2进制文件可以在不同的linux 版本运行。

但是如果我自己 写了一个hello world 希望它在不同的linux 平台上运行, gcc -o 1 hell.c
那基本就是不可能做到的了。 所以我很希望知道原因和解决办法。

apple 的那篇文件 就没什么实际意义。

论坛徽章:
0
2 [报告]
发表于 2008-08-05 21:29 |只看该作者
前两天看了点GTK,应该是GTK改善了移殖性

论坛徽章:
39
2017金鸡报晓
日期:2017-02-08 10:39:4219周年集字徽章-周
日期:2023-04-15 12:02:2715-16赛季CBA联赛之深圳
日期:2023-02-16 14:39:0220周年集字徽章-年
日期:2022-08-31 14:25:28黑曼巴
日期:2022-08-17 18:57:0919周年集字徽章-年
日期:2022-04-25 13:02:5920周年集字徽章-20	
日期:2022-03-29 11:10:4620周年集字徽章-年
日期:2022-03-14 22:35:1820周年集字徽章-周	
日期:2022-03-09 12:51:3220周年集字徽章-年
日期:2022-02-10 13:13:4420周年集字徽章-周	
日期:2022-02-03 12:09:4420周年集字徽章-20	
日期:2022-01-25 20:14:27
3 [报告]
发表于 2008-08-05 21:35 |只看该作者
完全不知所云

论坛徽章:
0
4 [报告]
发表于 2008-08-05 21:41 |只看该作者
111

论坛徽章:
0
5 [报告]
发表于 2008-08-05 21:42 |只看该作者
就是我gcc -o 1 hell.c  这么个二进制文件
希望在 centos 4 5 debian   redhat suse 上面跑,

但是在自己编译的平台没问题,换到别人的linux 上都不行, 会爆libc 版本不一致。

但qq 就可以跨那么多平台 他怎么做大的

论坛徽章:
0
6 [报告]
发表于 2008-08-05 21:42 |只看该作者
原帖由 醉卧水云间 于 2008-8-5 21:35 发表
完全不知所云

LZ意思应该是为什么QQ for linux的二进制文件可以在多个平台运行,但自己随便写个hello world的二进制文件却不可以跨平台运行

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
7 [报告]
发表于 2008-08-05 22:20 |只看该作者
原帖由 im2web 于 2008-8-5 21:42 发表
就是我gcc -o 1 hell.c  这么个二进制文件
希望在 centos 4 5 debian   redhat suse 上面跑,

但是在自己编译的平台没问题,换到别人的linux 上都不行, 会爆libc 版本不一致。

两个平台分别是嘛?

但qq 就可以跨那么多平台 他怎么做大的

QQ 那个 tar 包里的内容很简单的,只要相应库的版本匹配,执行应该不会存在问题。若是库版本不匹配,它照样歇菜

论坛徽章:
0
8 [报告]
发表于 2008-08-05 22:26 |只看该作者
suse 9.0、 centos 4.6

很简单 每个linux 发布版的libc 版本都不一样的.所以都应该跑不起来

论坛徽章:
0
9 [报告]
发表于 2008-08-06 11:41 |只看该作者
links libaries includinglibc statically.

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
10 [报告]
发表于 2008-08-06 12:33 |只看该作者
如果你不同的Linux 发行版的对应库啊,编译器之类的都保持一致的话,应该是没问题的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP