apue.h文件找不到的解决办法

参考:http://blog.csdn.net/nihaotoyou/article/details/16827675

1、首先到该书的官网下载源代码:http://www.apuebook.com/

2、解压到当前用户目录下

tar zxvf apue.2e

3、进入该目录下修改两个文件

Make.defines.linux:将该文件中的WKDIR=/home/xxx/apue.2e 修改为当前实际目录 WKDIR=/home/xxx/apue.2e

std/linux.mk:将该文件中的nawk修改问awk

4、编译,make

遇到错误,找不到文件stropts.h

解决办法:安装包含该头文件的库

yum provides */stropts.h搜索文件被包含在哪个包里面,搜到后,按照系统是32位还是64位选择安装包,然后用yum install 命令安装。

搜索

安装

再运行locate stropts.h后就会出现文件路径,把文件路径加入到Make.defines.linux文件中(修改CFLAGS变量)

修改后的CFLAGS 为:CFLAGS=-DLINUX -ansi -I$(WKDIR)/include -Wall -D_GNU_SOURCE $(EXTRA) -I/usr/lib/x86_64-redhat-linux5E/include/

5、再执行make

6、拷贝include目录下apue.h到/usr/include目录下,拷贝lib目录下libapue.a到/usr/lib64目录下。并且在编译程序时需要将lib目录下的error.c拷贝到该程序同一目录下,编译时把error.c一同编译。

原文地址:https://www.cnblogs.com/lit10050528/p/4043711.html