《UNIX环境高级编程》(第二版)找不到apue.h问题

来源:互联网 发布:单片机检测高低电平 编辑:程序博客网 时间:2024/04/30 03:15
《UNIX环境高级编程》(第二版)这本书,实例程序中都包含头文件apue.h,寻找linux /usr/include中,缺找不到此头文件,因此编译时会出错。实际上apue.h并不是系统自带头文件,而是作者自定义的一个头文件,包括了Unix 程序所需的常用头文件及作者Richard自己写的出错处理函数,目的是简化程序的书写和出错的处理。


解决办法:
到这点击打开链接下载src.tar.gz包,解压。
进入解压目录apue.2e,修改 Make.defines.linux中的WKDIR=/home/xxx/apue.2e,为WKDIR=/home/user/apue.2e 。
进入std目录,修改linux.mk,将里面的nawk全部改为awk。
将apue.h和error.c两个文件copy到/usr/include目录下。apue.h位于 your_apue_path/inlcude ;  error.c位于your_apue_path/lib。
修改apue.h 在最后一行#endif 前面添加一行 #include "error.c"。
修改error.c,文件第一行 #include "apue.h"注释掉或者删除。


再编译就没问题了。