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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/saber_wtq/article/details/100140562

"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

猜你喜欢

转载自blog.csdn.net/saber_wtq/article/details/100140562