"apue.h" 是作者自己写的一个文件,里面包含了一些作者自定义的函数和大多数头文件。
1.首先需要下载 源码包,centos用下面命令
wget http://www.apuebook.com/code3e.html
下载完成后后,解压压缩包命令:
tar -zxvf src.3e.tar.gz
然后 进入 apue.3e 目录下: cd apue.3e
执行make 命令:make
2.这里一般会失败,因为缺少libbsd库,所以需要先安装下面的两个库
ubuntu下面是直接sudo apt-get install libbsd-dev
但是CentOS下面 yum的话是找不到的。解决方法就是下载rpm包安装libbsd-dev,具体步骤如下(笔者是64位的):
wget http://elrepo.reloumirrors.net/testing/el6/x86_64/RPMS/libbsd-0.2.0-4.el6.elrepo.x86_64.rpm
wget http://elrepo.reloumirrors.net/testing/el6/x86_64/RPMS/libbsd-devel-0.2.0-4.el6.elrepo.x86_64.rpm
rpm -ivh libbsd-0.2.0-4.el6.elrepo.x86_64.rpm
rpm -ivh libbsd-devel-0.2.0-4.el6.elrepo.x86_64.rpm
然后再然进入 apue.3e 目录下: cd apue.3e
在apue.2e目录执行make命令进行编译。如果编译通过,会在apue.2e/lib/目录下生成libapue.a静态链接库文件。
1、apue.2e/lib/libapue.a拷贝至/usr/local/lib/目录下。
2、apue.2e/include/apue.h拷贝至/usr/local/include/目录下。
3、完成,但编译时要加上-lapue指令,例如编译test.c文件,执行:gcc test.c -lapue
补充说明:程序里面的err_quit,err_sys等等函数在apue.2e/lib/error.c中, error.c 实现apue.h中的出错处理函数。
当然,如果按照上面的步骤制作了libapue.a库的话,不需要单独包含error.c