解压源码
tar -zxvf src.3e.tar.gz编译
make出现/usr/bin/ld: cannot find -lbsd 错误
解决方法:添加libbsd.a的静态链接库
sudo apt-get install libbsd-dev再次make则成功
make安装apue.h文件及其对应的静态链接库libapue.a,libapue.a是apue.h头文件中包含的所有函数及宏定义的具体实现,是一个静态链接库。
sudo cp ./include/apue.h /usr/include/sudo cp ./lib/libapue.a /usr/local/lib/编写ls.c代码
#include "apue.h"
#include <dirent.h>
int main(int argc,char *argv[])
{
DIR *dp;
struct dirent *dirp;
if(argc != 2)
err_quit("usage:ls directory_name:");
if((dp=opendir(argv[1]))==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 ls.c -o ls -lapue生成了ls*
./ls /home/weiyi/study/apue.3e- 效果如下
本文介绍了解决编译过程中遇到的链接错误的方法,并通过具体实例演示了如何使用apue.h头文件和其对应的静态链接库来实现一个简单的ls命令程序。
5317

被折叠的 条评论
为什么被折叠?



