在蘋果 OS X 10.11 El Capitan 中使用《UNIX環境高級編程--第三版》中提供的頭文件 apue.h 。
編程
這裏我買的是第三版的書,和第二版不一樣,不用改工做路徑等信息。正如在readme中說到的,在OS X上進入目錄直接make便可。
api
咱們須要在apue.h的最後部分的xcode
#endif /* _APUE_H */
前面加上一句:操作系統
#include "error.c"
最終是這樣的:code
首先在OS X中,直接打開目錄 /usr/include/,會發現系統找不到目錄,解決方法是安裝 command line tools,若是你安裝了Xcode,能夠在Xcode中進行安裝,可是Xcode那麼大,下載起來很麻煩的,咱們能夠採用這個方法:it
直接在終端中執行io
xcode-select --install
成功安裝以後就能夠看到這個目錄了:
編譯
咱們在make以後,就要把 apue.3e/include/ 中的 apue.h 和 apue.3e/lib/ 中的 error.c 拷貝到 /usr/include/ 目錄中,可是會發如今OS X 10.11 中是 Permission Denied 。gcc
是由於OS X 在 El Capitan 中開啓了一個叫 SIP 的操做系統保護機制,對於高級的OS X 使用者來講,這個功能是能夠關閉的。select
解決方案: 重啓 Command + R, 進入終端輸入
csrutil disable
再開機以後就能夠進行復制的操做了:
cp include/apue.h /usr/include/apue.h cp lib/error.c /usr/include/error.c
通過上面的操做以後,成功編譯書中的第一個例子程序:
搞定!