mac os 10.9 系统如何编译 apue.3e 源码?

10.9系统下 用clang 是否也可以编译通过呢? apue 使用的第三版源码
关注者
13
被浏览
1174

2 个回答

学习 apue本身的前提是搭建环境,也就是在系统中集成apue.h和error.c这两个文件,只要这两个文件集成了,后面的学习就一帆风顺了,
UNIX环境高级编程__针对apue.h找不到的情况以及log错误信息输出的问题
  1. 这是主要两个文件的放置过程,在mac下属于unix体系,其实和linux环境搭建是一样的。所以你可以按照这个教程来。只需要这两个文件就行,其余的都是冗余的,你在学习的过程中完全可以边学边添加内容,这样会对你的学习很有帮助。
  2. 另外,你可以参考我github的代码库,如果你在学习的过程中遇到什么困难的话,基本上代码都是一遍遍过来的,大家在学习的过程中可以共勉,其实在学习的时候学会使用github也是很不错的
  3. 附上github地址GitHub - VVictorQi/APUE: 一个学习Apue的仓库,对于每一章节的学习代码会上传下来,包含一些遇到的问题,以及解决的 一些问题,也包括了一路走来,的成长点滴,在后期后加上我的 博客地址,来记录学习的点滴、。就这样,欢迎点赞
在Google搜到你的问题,我也碰到同样的问题(5分钟前),然后通过其他的搜索结果找到答案,不知道你是否跟我一样,出现以下的错误:

...
clang: error: unknown argument: '-R.' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make[1]: *** [t4] Error 1
make: *** [all] Error 1
如果是的话,解决方法就是:
编辑apue.3e/db/Makefile,把

ifeq "$(PLATFORM)" "macos"

EXTRALD=-R.

改成:

ifeq "$(PLATFORM)" "macos"

EXTRALD=-R

也就是说,把“-R.”改成“-R”,去掉最后的“.”,然后返回到apue.3e目录,再次执行make all,完成,祝成功!