编译错误及解决方案
1. 找不到major minor
解决方法:在devrdev.c文件中#include <sys/sysmacros.h>
2. #define _flag __pad[4]报错
解决方法:将下面的代码修改成:
3./usr/bin/ld: cannot find -lbsd
解决方法:在Linux上:apt-get install libbsd-dev
使用apue.h
书中的例子都需要include apue.h才能使用,上面的源码编译完成之后,假设当前位置在apue.3e目录下,需要运行以下两条指令:
sudo cp include/apue.h /usr/include/
sudo cp lib/libapue.a /usr/lib/
如此一来程序就能使用apue提供的库文件了。
使用方式:
假设文件名为fig1_3.c,通过 -l 链接 libapue.a,则:
gcc fig1_3.c -o fig1_3 -l apue
接着就可以运行生成文件啦!
./fig1_3 /yourDirectory