在开源世界里我们的软件该如何编译


基本上,尤其在Windows 和Mac OS X系统下,已经开发好的软件不需要用户再编译。程序员写好代码并编译后,封装为计算机可执行的二进制形式,用户就可以直接使用了。

然而现在,随着开源软件的增多,每个人都可以读和使用源代码,因而软件编译的最后一步工作已经转移到了用户身上,而且他们得根据自己使用的系统,Windows XP, Windows Vista, Mac OS X Tiger, Panther, Linux x86……来做编译工作。

如果你发现自己不得不编译一段软件的代码,那么过程并不复杂。虽然每段代码的性质各不相同,但有一套共同的方法。

首先,准备好命令行和编辑器。我针对主流操作系统分别做简单的解释:

Linux:已经具备了命令行和一个叫GCC 的编辑器。在命令行中输入gcc ,如果“command not found”,那么请安装GCC。

Mac OS X:命令行是Terminal,位于Applications/Utilities。你需要下载XCode ,它包含Apple的编辑器。

Windows:微软在免费下载的Visual Studio Express中提供了编辑器,但是Cygwin 界面更友好。安装中要注意的是:要选择“Devel”部分中所有的安装包。

下载:基本上所有的源数据包都有.tgz或者.tar.gz的后缀,有文件名和版本号,比如example-3.2.8.tar.gz。建立一个名为“source”或者“build”的目录,下载并放在该目录中。

解压缩:从命令行进入工作目录(用cd命令):cd source 最快的方法是:

tar -xzvf example-3.2.8.tar.gz

这会将所有的源代码解压到一个新的子目录中,而且文件名跟应用是一样的。进入目录只需要敲:

cd example-3.2.8

读文档:在代码的文件包中会有像README 和INSTALL之类的文件,一定要读。你也可以使用less 命令在命令行中读取:less INSTALL 或者直接用合适的格式打开它们,它们会告诉你要安装哪些包、安装指南、注意问题等。

Building:虽然各有不同,但大抵方法如下:输入:./configure 运行配置工具会告诉你缺少哪些软件和重要的文件的位置。有时候你需要自己指明特定文件在你计算机上的位置,比如:

./configure --ssl-dir=/usr/local/include

Configuration 过程要用几分钟,当它完毕的时候,你就可以编译了。如果出现错误,参考下面的Troubleshooting。编译请输入:

make

一切顺利就开始编译了。编译会占用一段时间而且当运行时会占用你电脑的所有进程。不要担心,当编译结束的时候,如果你仍然没有看到已错误,那你已经搞定了。剩下要做的只是将不同的文件放到文件系统中:

make install

Troubleshooting: 如果以上的步骤有遇到错误,有方法让你知道问题所在。确认你是否严格地按要求执行以上步骤。

相关内容