"apue.h" 是作者自己寫的一個檔案,裡面包含了一些作者自定義的函數和大多數頭檔案。
1.首先需要下載下傳 源碼包,centos用下面指令
wget http://www.apuebook.com/src.3e.tar.gz
下載下傳完成後後,解壓壓縮包指令:
tar -zxvf src.3e.tar.gz
然後 進入 apue.3e 目錄下: cd apue.3e
執行make 指令:make
2.這裡一般會失敗,因為缺少libbsd庫,是以需要先安裝下面的兩個庫
ubuntu下面是直接sudo apt-get install libbsd-dev
但是CentOS下面 yum的話是找不到的。解決方法就是下載下傳rpm包安裝libbsd-dev,具體步驟如下(筆者是64位的):
wget http://elrepo.reloumirrors.net/testing/el6/x86_64/RPMS/libbsd-0.2.0-4.el6.elrepo.x86_64.rpm
wget http://elrepo.reloumirrors.net/testing/el6/x86_64/RPMS/libbsd-devel-0.2.0-4.el6.elrepo.x86_64.rpm
rpm -ivh libbsd-0.2.0-4.el6.elrepo.x86_64.rpm
rpm -ivh libbsd-devel-0.2.0-4.el6.elrepo.x86_64.rpm
然後再然進入 apue.3e 目錄下: cd apue.3e
在apue.3e目錄執行make指令進行編譯。如果編譯通過,會在apue.2e/lib/目錄下生成libapue.a靜态連結庫檔案。
1、apue.3e/lib/libapue.a拷貝至/usr/local/lib/目錄下。
2、apue.3e/include/apue.h拷貝至/usr/local/include/目錄下。
3、完成,但編譯時要加上-lapue指令,例如編譯test.c檔案,執行:gcc test.c -lapue
補充說明:程式裡面的err_quit,err_sys等等函數在apue.3e/lib/error.c中, error.c 實作apue.h中的出錯處理函數。
當然,如果按照上面的步驟制作了libapue.a庫的話,不需要單獨包含error.c