ubuntu下《UNIX环境高级编程》(apue.h)编译出错的处理方法

  《unix环境高级编程》的书到了,拿来就开始看,发现第一个ls的程序就卡壳了。说是少了apue.h的头文件,到网上一查,人家说在前言里有源码的下载地址,www.apuebook.com,我很快下了代码,解压后打开在apue.2e中有个include 的文件夹,我在里面找到了apue.h的头文件,编译的时候可以参看gcc的手册,如果代码中没有头文件,可以加头文件的参数及其位置,如下:

$ gcc ls1.c -I ../include/(gcc参数手册讲的很详细),这时候编译,又出错了,说是:

/tmp/cclCQtbS.o: In function `main':
ls1.c:(.text+0x17): undefined reference to `err_quit'
ls1.c:(.text+0x4a): undefined reference to `err_sys'

原来err_quit和err_sys是自编的函数,可以在书的附录B中找见,建立一个*.h,把函数都拷贝进去,然后#include进去就可以了,方法其实很简单,就是初学者的我理解了半天。

我是参考网上的文档做的,也加入了自己的理解,如果大家还不懂,就看参考文档吧!

参考地址:

http://linux.chinaunix.net/techdoc/system/2009/02/08/1061504.shtml

原文地址:https://www.cnblogs.com/candycaicai/p/1969054.html