UNIX环境高级编程第三版源码编译

时间:2022-02-10 00:24:52


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这个库。