博文:首发地址
转载请注明来源:http://suool.net/2015/07/23/OS-X-10-10-%E7%BC%96%E8%AF%91APUE-Third-Edition-%E6%BA%90%E7%A0%81/
上个暑假曾经简单的学习了下Linux程序设计,那个时候就计划着把誉为UNIX编程必须要看的APUE(UNIX环境高级编程 英文全称是Advanced Programming in the UNIX Environment,所以简称为APUE)看一下,还在X宝买了第二版的中文版。而到今年已经有第三版的中文版了,刚好图书馆也有新版,就借了回来,再加上没有打算这么急的去找实习和工作,决定沉下心来,把这本书好好地看一下。
本系列书籍的地址[Advanced Programming in the UNIX® Environment](! http://www.apuebook.com “APUE”),里面有各个版本的源码和相关资料。
源码下载了之后就是编译了,上个暑假在Ubuntu下的编译过,那个时候编译的Second Edition,有很多错误,编译起来比较麻烦。到了现在的Third Edition之后,发现只需要一个make就解决了。不过在Mac OS的Yosemite上直接使用make或出现错误,比如下面的错误:
make[1]: *** [t4] Error 1
make: *** [all] Error 1
解决的办法就是:
即是将EXTRALD=-R.改成EXTRALD=-R(去掉“.“”)
然后make,如果make过了,make clean再make。
这个时候如果切到源码的目录,比如到Intro目录下,编译Hello.c的文件是会报错,提示你apue.h没有定义,因为还有一步没有完成,即是将我们的apue.h和error.c复制到usr/include的目录。
如下所示:
然后修改编辑/usr/include/apue.h文件(使用sudo权限)
在文件最后#endif前加上包含error.c代码: #include “error.c”
测试书中第一个例子,成了。
结果如下:
下面就可以愉快的看书写代码啦~