centos 7下使用《unix环境高级编程》第三版 中 apue.h问题

"apue.h"  是作者自己写的一个文件,里面包含了一些作者自定义的函数和大多数头文件。

1.首先需要下载 源码包,centos用下面命令

wget http://www.apuebook.com/src.3e.tar.gz

下载完成后后,解压压缩包命令:

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.3e目录执行make命令进行编译。如果编译通过,会在apue.2e/lib/目录下生成libapue.a静态链接库文件。

1、apue.3e/lib/libapue.a拷贝至/usr/local/lib/目录下。

2、apue.3e/include/apue.h拷贝至/usr/local/include/目录下。

3、完成,但编译时要加上-lapue指令,例如编译test.c文件,执行:gcc test.c -lapue

补充说明:程序里面的err_quit,err_sys等等函数在apue.3e/lib/error.c中, error.c 实现apue.h中的出错处理函数。

当然,如果按照上面的步骤制作了libapue.a库的话,不需要单独包含error.c

你可能感兴趣的:(centos 7下使用《unix环境高级编程》第三版 中 apue.h问题)