UNIX环境高级编程第二版中编译程序提示“apue.h:找不到这个文件或目录”错误

apue.h 是作者自定义的一个头文件,并不是Unix/Linux系统自带的,此头文件包括了Unix程序所需的常用头文件及作者Richard自己写的出错处理函数。所以在默认情况下,gcc在编译时是读不到这个头文件的。

解决方法:

先从这个网站 http://www.apuebook.com/src.tar.gz 下载tar.gz格式的源码包,然后解压至某个目录,比如说/home/dylan/下,进入apue.2e目录。

1、把文件 Make.defines.linux 中的 WKDIR=/home/xxx/apue.2e 修改为 WKDIR=/home/dylan/apue.2e

2、再进入apue.2e目录下的std目录,打开linux.mk,将里面的nawk全部替换为awk。

3、回到apue.2e 目录下执行make,编译源码。如果出现systype.sh无权限,则执行 chmod +x systype.sh后再执行make。

4、编译成功后,把/apue.2e/inlcude 目录下的 apue.h 文件和位于 /apue.2e/lib 目录下的 error.c 文件都复制到 /usr/include 目录下,把 

      apue.2e/lib/libapue.a 复制到/usr/lib/和/usr/lib64目录下。

5、修改复制到/usr/include 目录下的apue.h 文件,在最后一行 #endif 前面添加一行 #include “error.c”,不可以在文件的顶部添加。

     至此就可以编译书中出现的程序清单了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值