用户工具

站点工具


编译指南

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
编译指南 [2011/10/31 22:14] – [Configure] admin编译指南 [2011/11/13 17:06] (当前版本) – [Configure] syntax admin
行 1: 行 1:
 +====== UNIX 环境编译指南 ======
  
 +编译是把源代码转换为目标文件的过程。此处不讲解编译过程,有兴趣可以参考《[[http://learn.akae.cn/media/index.html|Linux C编程一站式学习]]》一书。
 +
 +===== 准备工作 =====
 +
 +编译前应准备好编译用的依赖库。使用操作系统自带的包管理系统进行编译器的安装。编译器常使用 GCC 或者 SunCC。后者是 Solaris 系统自带的编译器。在 Ubuntu/Debian 系统上,可以通过 ''apt-get install build-essentials'' 命令安装编译器,在 RHEL/Cent OS 上可以使用 ''yum groupinstall "Development Tools"'' 命令安装。注意选择合适的软件源。
 +
 +假设 A 包依赖 libpng,则应该查找 libpng-dev (Debian) 或 libpng-devel (RH) 的包安装相应的头文件。Debian 系统使用 ''apt-cache search'' 命令搜索包, Red Hat 使用 ''yum search'' 命令。
 +
 +===== Configure =====
 +
 +''./configure'' 一般是编译安装的第一步,用于配置环境。使用 
 +
 +<code bash>./configure --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include</code>
 +
 +可以将包安装到标准系统路径内。使用 ''./configure'' 可以安装到标准路径内(一般为 /usr/local)。
 +
 +如果 ''configure'' 提示缺少库,请按照上面说过的方法安装依赖,或者先编译依赖。如果需要打开待编译软件的某些功能,可以执行 ''./configure --help'' 查看可用参数。
 +
 +===== Make =====
 +
 +''make'' 命令使用 ''Makefile'' 构建二进制程序。在 Solaris 上常使用 ''dmake''。参见 [[Solaris 编译指南|Solaris 编译指南]]。
 +
 +可以使用 ''make -s 2'' 使用 2 并发进程编译。可以将 2 替换为其它数字。
 +
 +如果没有提示错误,输入 ''sudo make install'' 即可。