正式開始學習《APUE》,跟着學習的過程當中也動手實踐一下,所使用的操做系統爲Ubuntu18.04bash
/usr/bin/ld: 找不到 -lbsd
collect2: error: ld returned 1 exit status
複製代碼
解決辦法:添加libbsd.a的靜態連接庫 sudo apt-get install libbsd-dev
函數
make學習
編譯成功後,開始安裝apue.h文件及其對應的靜態連接庫libapue.a測試
sudo cp ./include/apue.h /usr/include/
sudo cp ./lib/libapue.a /usr/local/lib/
複製代碼
能夠看到,咱們拷貝一個apue.h文件到用戶包含目錄,還拷貝了一個libapue.a到庫目錄,其中libapue.a是apue.h頭文件中包含的全部函數及宏定義的具體實現的一個靜態連接庫ui
//1.3查看目錄
#include "apue.h"
#include <dirent.h>
int main(char argc, char *argv[]) {
DIR *dp;
struct dirent *dirp;
if(argc != 2)
err_quit("usage: Is directory_name");
if((dp = opendir(argv[2])) == NULL)
err_sys("can't open %s", argv[1]);
while((dirp = readdir(dp)) != NULL)
printf("%s\n",dirp->d_name);
closedir(dp);
exit(0);
}
複製代碼
編譯 gcc 1-3.c -o 1-3 -lapue
libapue.a在這裏要寫成apue,不瞭解的同窗請複習一下gccspa
至此,apue環境搭建成功,你們盡情暢遊吧操作系統