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一同编译。