歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 《UNIX環境高級編程》中apue.h的問題

《UNIX環境高級編程》中apue.h的問題

日期:2017/3/1 10:03:34   编辑:Linux編程

運行程序清單1-1(列出一個目錄中的所有文件)

提示 "錯誤:apue.h:沒有那個文件或目錄".

很是受打擊,果斷google解決之。

apue.h是作者自定義的一個頭文件,包括程序所需的常用頭文件及出錯處理函數。所以因該將它放入系統頭文件中(Linux下是 /usr/include),這樣gcc編譯器就可以找到它了。

去http://www.linuxidc.com/Linux/2013-01/77467.htm下載src.tar.gz包,然後解壓至電腦中的某個目錄,比如我的是在/home/user/下

user@user-desktop:~$ sudo tar xzf src.tar.gz

進入解壓目錄apue.2e,修改 Make.defines.linux中的WKDIR=/home/xxx/apue.2e,為WKDIR=/home/user/apue.2e

進入std目錄,修改linux.mk,將裡面的nawk全部改為awk。

復制apue.h和error.c

將apue.h和error.c兩個文件copy到/usr/include目錄下。(apue.h位於 your_apue_path/inlcude ; error.c位於your_apue_path/lib )

以我的路徑為例:

user@user-desktop:/usr/include$ cp /home/user/apue.2e/inlcude/apue.h apue.h
user@user-desktop:/usr/include$ cp /home/user/apue.2e/lib/error.c error.c (實現apue.h中的出錯處理函數)

修改apue.h

在最後一行#endif 前面添加一行 #include "error.c"

貌似這樣就OK了。

UNIX環境高級編程中文第二版PDF高清版 http://www.linuxidc.net/thread-2063-1-1.html

Copyright © Linux教程網 All Rights Reserved