本菜剛剛學習UNIX下高階程式設計,無奈搭建本書程式設計環境時遇到不少問題。幸好網上有各種大神的解決辦法讓我最終解決了問題。在這裡感謝為LINUX開源作業系統奮鬥的大神。

不過話說回來,網上大都是針對UNIX高階程式設計第二版的標頭檔案搭建,現在對於第三版來說,有些過時,因為很對針對linux的make檔案已經改變了很多。

話不多說,下面就來看看具體的搭建過程:(本人用的作業系統是ubuntu 14.04LTS)

1.在網上下載書中原始碼,點選開啟連結

2.解壓檔案:tar -zxvf *.tar.gz

3.cd apue.3e/

4.make

在這個過程中,你會看到最後由於can,t find -lbsd而不能make成功,解決辦法是新增libbsd.a的靜態連結庫

sudo apt-get install libbsd-dev

5.make(again)

6.在編譯成功的基礎上,我們進行安裝apue.h檔案及其對應的靜態連結庫libapue.a

sudo cp ./include/apue.h /usr/include/
sudo cp ./lib/libapue.a /usr/local/lib/

為什麼要將libapue.a移到/usr/local/lib中呢?原因是libapue.a是apue.h標頭檔案中包含的所有函式及巨集定義的具體實現,是一個靜態連結庫。

檢視ld.conf.d/libc.conf你會發現gcc在搜尋連結庫的時候預設會去搜索/usr/local/lib/中的檔案,所以我們將其放在這裡,一勞永逸。。。。(不過自己要知道哦)

7.以上環境搭建成功了,下面是測試。

8.gcc 1-3.c -o 1-3 -lapue  (libapue.a在這裡要寫成apue,具體的gcc使用規則可以man一下,呵呵)

9.看見1-3執行程式了吧,趕緊執行一下

./1-3 /lib



10.最後說一下本例1-3就是書上的第一個程式---ls程式。