apue:UNIX环境高级编程(Advanced Programming in the UNIX Environment)
当看这本书并试着编写程序时,发现里面的“apue.h”文件找不到,查阅发现,原来这是作者包含了自己写的一些函数,那怎么解决呢,如下:
1.去http://www.apuebook.com/下载对应版本的源代码,解压;
2.里面的 README 文件说,只需要把 Make.define.*(*为对应操作系统,我的为linux)中的WKDIR 目录改为 apue.2e所在文件夹,然后 make 即可,然而测试发现不能成功编译文件;
3.经过尝试,可采用如下方法;
4. 把Make.define.*中的WKDIR 目录改为 apue.2e所在文件夹;
5.将apue.2e文件夹下 std 文件夹的 linux.mk(选择操作系统对应版本) nawk 全部替换为awk,我使用VIM 打开,运行语句“:%s/nawk/awk/g", 其中%表示整个文件,s表示替换,nawk是要被替换的元素,awk 是替换元素,g表示全部替换;
6.在apue.2e目录下make,会出现错误,可以忽略;
7.将apue.2e文件夹下的include文件夹中的apue.h 与lib文件夹中的error.c拷贝到/usr/include目录中,并在apue.h 中include "error.c";
8. 编译相应的程序测试:mv fig1.3 myls.c;
9.gcc myls.c
10 ./a.out /dev. 显示dev下的文件,到此,大功告成。
当看这本书并试着编写程序时,发现里面的“apue.h”文件找不到,查阅发现,原来这是作者包含了自己写的一些函数,那怎么解决呢,如下:
1.去http://www.apuebook.com/下载对应版本的源代码,解压;
2.里面的 README 文件说,只需要把 Make.define.*(*为对应操作系统,我的为linux)中的WKDIR
3.经过尝试,可采用如下方法;
4.
5.将apue.2e文件夹下
6.在apue.2e目录下make,会出现错误,可以忽略;
7.将apue.2e文件夹下的include文件夹中的apue.h
8. 编译相应的程序测试:mv fig1.3 myls.c;
9.gcc myls.c
10 ./a.out