unix環境高階程式設計第三版原始碼編譯遇到的問題
一、問題描述:make,遇到錯誤:cannot find -lbsd 。
二、原因:缺少缺少libbsd檔案。
三、解決方法:
#yum install libbsd
#yum install libbsd-devel
安裝完成後就可以去apue.3e目錄make了。
# apt-get install libbsd-dev
安裝完成後就可以去apue.3e目錄make了。
編譯完成後
#cp ./include/apue.h /usr/include/
#cp ./lib/libapue.a /usr/local/lib/
當你編寫了乙個源**,你用gcc編譯的時候要在命令後面加 -lapue
否則會出現類似下面的錯誤:
/tmp/cchudidn.o: in function `main':
1_3.c:(.text+0x20): undefined reference to `err_quit'
1_3.c:(.text+0x5b): undefined reference to `err_sys'
collect2: ld returned 1 exit status
這是因為你在編譯的時候沒有新增libapue.a這個庫。
《Unix環境高階程式設計第三版》程式索引
學習unix環境高階程式設計一書時,根據書上的 進行練習是一種提高閱讀興趣的好方法。該文可以幫助你編譯 以及索引書中程式的位置。作者使用的是centos7作業系統進行練習。如果沒有unix環境高階程式設計第三版課本以及源 可以從作者github裡獲取,鏈結如下 cd apue3 master mak...
unix環境高階程式設計(第三版) 讀書筆記4
對於核心而言,所有開啟的檔案都通過檔案描述符引用。檔案描述符是乙個非負整數。當開啟乙個現有檔案或建立乙個新檔案時,核心向程序返回乙個檔案描述符。unix系統shell把檔案描述符0與程序的標準輸入相關聯,檔案描述符1與標準輸出關聯,檔案描述符2與標準錯誤關聯。檔案描述符的變化範圍是0 open ma...
Javascript高階程式設計(第三版) 陣列
var colors red blue green colors.length 2 alert colors 2 undifined陣列的length屬性不是唯讀的。如果將其length的值設為大於陣列項數的值,則新增的每一項都會取得undefined值。可以方便的在陣列末尾新增新項,比如 colo...