正式开始学习《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环境搭建成功,你们尽情畅游吧操作系统