编译apue.3e并解决编译错误
下载源代码
我们在学习APUE这本书的时候,总会见到书上的源代码总会引用apue.h
这个头文件,这个并不是Linux系统自带的。所以,我们要自己编译。
我们在http://www.apuebook.com/src.3e.tar.gz下载源代码后,解压。
1 | tar -zxvf src.3e.tar.gz |
然后编译
1 | sudo make |
但是在编译过程中,会出现错误,错误部分的log是这样的。
1 | gcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE badexit2.c -o badexit2 -L../lib -lapue -pthread -lrt -lbsd |
修复
出现这个错误是因为,我们缺少一个库。
1 | sudo apt-get inatall libbsd-dev |
安装完成后,重新进行编译.
1 | cp ./include/apue.h ./lib/error.c /usr/include |
然后,在/usr/include/apue.h
的ifdef
和endif
中间添加#include "error.c"
,就可以在编写的程序中,愉快的使用apue.h
了。