LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1265|回复: 7

64位环境中如何编译出32位的代码?

[复制链接]
发表于 2006-5-3 02:39:18 | 显示全部楼层 |阅读模式
小弟最近加入使用gentoo的行列
我的机器是AMD athlon64 3000+,所以弄了个64位的玩玩

想装个优化过的firefox(swiftfox);
结果不幸发现缺少libpangocairo-1.0.so这个动态连接文件
其实在我的机器上/usr/lib64/下已经有这个文件了的
/etc/ld.so.conf也配置了正确路径,
但是死活说找不到;
使用ldd swiftfox-bin发现swiftfox-bin已经找到的
动态连接都是/lib32。。。等路径下的,
按我的理解也就是32位的,(swiftfox的主页的Build Information也说是32bit的)

现在的问题是,我想自己编译出那个lib的32位版本到我机器上;
该怎么编译呢?

最初要装swiftfox的原因是我不能在firefox下使用SCIM输入;
有这方面经验的兄弟能给我说一下也不错 呵呵
3Q
发表于 2006-5-3 08:53:53 | 显示全部楼层
装个虚拟机,在里面装个32位的系统,再在里面编译。呵呵!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-3 15:01:08 | 显示全部楼层
Post by pluskid
装个虚拟机,在里面装个32位的系统,再在里面编译。呵呵!

这个也太曲线救国了吧
回复 支持 反对

使用道具 举报

发表于 2006-5-3 15:30:27 | 显示全部楼层
-march=k8改成athlon-xp
回复 支持 反对

使用道具 举报

发表于 2006-5-3 23:51:13 | 显示全部楼层
ldd 出来需要说明.so,就从32bit的机器上copy过来。如果要32bit编译,很多人是用chroot32得到32bit环境的。
回复 支持 反对

使用道具 举报

发表于 2006-5-4 20:57:52 | 显示全部楼层
Gentoo自己不是multilib的么,还chroot干嘛?。现在又改了?
回复 支持 反对

使用道具 举报

发表于 2006-5-4 21:34:20 | 显示全部楼层
Gcc 得有 "multilib" 的 USE.
  1. CFLAGS="-march=i386 -m32 " LDFLAGS="-m32" ./configure --prefix=/usr
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-5 18:41:27 | 显示全部楼层
谢谢大家的回复
这几天忙开发了
没有顾得来证实一把 。。。咳,谁叫我在win下效率高些那
再次感谢大家的回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表