在32位系统下编译64位程序

由于某些需要要编译个64位程序,而机子装的系统是32位。因为不想装上64位系统(麻烦&没空间&得用虚拟机),所以尝试了下在32位下编译。

首先是设置gcc生成64位的目标代码,这倒是好办,用-m64选项就行。然而光是有这一点还不够,编译本身是要链接其他的库的,而64位代码没有办法链接32位的库。

首先是要装上64位的C库,这比较好办,Ubuntu里有libc6-amd64和libc6-dev-amd64这两个包,将其装上。

然后是gcc的64位库,这个比较麻烦,32位Ubuntu里没有提供相应包,因此得到网上去找。我是在http://packages.ubuntu.com上找的,下载amd64架构的包。需要下载的是这两个包子:gcc4.2和libgcc,用归档管理器打开下载下来的deb文件,并打开其中的data.tar.gz包,将其中的.so、.a和.o文件解压到/usr/lib64中(需要root权限,可先解压到/tmp再复制过去)。

然后因为用了C++,所以要装上C++的64位库,这个源里也没有,同样是下载解压。

以上是一些基本的包,在其实中一般不只这些,要根据说明文档下载相应的包解压,而且相应包所依赖的包也要下载解压,所以会很麻烦的,没事就别跨平台编译吧。

最后就要给编译加上-m64参数了,不同的安装脚本添加方法不同,就不多说了。

 

linux Comments(1) 2008年7月02日 05:53

Firefox启动故障

gladder与代理设置冲突导致Firefox无法启动

阅读全文

linux Comments(0) 2008年7月01日 18:02

第一次做Deb包

照着Full Circle第12期的方法给今天编译的Evaqq做了一个,发现其实还是挺简单的。建一个DEBAIN文件夹放control文件,然后其他文件夹会自动按它们的名称对应到以根目录为起点的相应地址上

control的编写也很简单,照着模板来就是了,麻烦的是依赖关系,我是拿现成eva的deb包原版复制的(没办法,完全不知道它用了哪个包)

之后dpkg -b一下就行了,参数也好简单呐

linux Comments(0) 2008年6月30日 09:09

编译evaqq

从SVN下载编译安装EvaQQ

阅读全文

linux Comments(0) 2008年6月29日 19:22

Ubuntu的FF3居然升级到RC1了

还以为会等到正式版出来才升级的,没想到在这RC2准备出来的时候居然升级到了RC1……

不过也可能是官方源没升级,这个只是我的源升级了Launchpad的版本

另外OTL一下在关于里居然没有RC1的字样(之前也没注意有没有Beta5的字样嗯)

智慧书签终于成了简体中文了,但是──为啥要变成“访问最多”啊

linux Comments(0) 2008年5月30日 20:02

vsftpd-2.0.6编码补丁

vsftpd-2.0.6的编码补丁,解决GBK的客户端无法看到UTF8客户端的编码的问题

阅读全文

linux Comments(1) 2008年5月25日 01:24

搞定了fcitx的乱码问题

设置字体为文泉驿点阵宋,解决升级到Ubuntu 8.04后fcitx乱码问题

阅读全文

linux Comments(0) 2008年4月23日 07:57

升级到了Ubuntu 8.04

升级到Ubuntu 8.04,遇到一大堆问题

阅读全文

linux Comments(8) 2008年4月21日 07:56

lftp 的书签

lftp功能很强大,要方便地使用这些强大的功能,书签是一个有效的方法

阅读全文

linux Comments(1) 2008年4月06日 19:56

写了个断网自动重连的小脚本

刚学,一个功能简单的小脚本

主要思想就是判断能否ping通学校的代理服务器,不能的话说明网断了,自动启动H3C连接程序

脚本如下:

#!/bin/bash
ping -c 1 -W 1 -q 202.116.64.226 || linux1x -d

把它扔到/etc/ini.d目录下(因为我打算以后做成一个服务嗯),然后在/etc/crontab文件里加上

*  *    * * *   root    /etc/init.d/h3c

这样就能每分钟运行一次这个脚本进行判断了。

linux Comments(10) 2008年4月06日 19:22