[&] () {}

Life is short , Import your DREAM.独学无友,则孤陋而难成;久处一方,则习染而不自觉。...

OS X 10.10 编译APUE Third Edition 源码

博文:首发地址

转载请注明来源: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

解决的办法就是:
Makefile修改

即是将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”

测试书中第一个例子,成了。

结果如下:

运行结果

下面就可以愉快的看书写代码啦~

阅读更多
文章标签: unix
上一篇LeetCode之LCP(Longest Common Prefix)问题
下一篇【Cocos游戏实战】功夫小子第七课之游戏主功能场景逻辑功能和暂停功能场景的分析和实现
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭