UNIX环境高级编程第三版源码编译遇到的问题
一、问题描述:make,遇到错误:cannot find -lbsd 。
二、原因:缺少缺少libbsd文件。
三、解决方法:
1、Fedora 系列(通过yum来下载更新软件)
#yum install libbsd
#yum install libbsd-devel
安装完成后就可以去apue.3e目录make了。
2、Ubuntu 系列(通过apt-get来下载和更新软件)
# apt-get install libbsd-dev
安装完成后就可以去apue.3e目录make了。
编译完成后
#cp ./include/apue.h /usr/include/
#cp ./lib/libapue.a /usr/local/lib/
当你编写了一个源代码,你用gcc编译的时候要在命令后面加 -lapue
否则会出现类似下面的错误:
/tmp/cchudidN.o: In function `main':
1_3.c:(.text+0x20): undefined reference to `err_quit'
1_3.c:(.text+0x5b): undefined reference to `err_sys'
collect2: ld returned 1 exit status
这是因为你在编译的时候没有添加libapue.a这个库。