第三版apue编译

第三版apue编译:

首先在 http://www.apuebook.com/ 下载源码解压:
tar zxvf src.3e.tar.gz
看完Readme可知,直接执行make即可

执行make报错:

making threads
make[1]: 正在进入目录 `/work/apue/apue.3e/threads'
gcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE  badexit2.c -o badexit2  -L../lib -lapue -pthread -lrt -lbsd
/usr/bin/ld: cannot find -lbsd
collect2: error: ld returned 1 exit status
make[1]: *** [badexit2] 错误 1
make[1]:正在离开目录 `/work/apue/apue.3e/threads'
make: *** [all] 错误 1

编译线程程序时找不到 bsd 的库
解决方法:

1)ubuntu
sudo apt-get install libbsd-dev
2) fedora, redhat, centos
2.1) 下载两个包
2.1a) i386
ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/i386/libbsd-0.6.0-1.el6.i686.rpm
ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/i386/libbsd-devel-0.6.0-1.el6.i686.rpm
2.1b) x86_64
ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/x86_64/libbsd-0.6.0-1.el6.x86_64.rpm
ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/x86_64/libbsd-devel-0.6.0-1.el6.x86_64.rpm

2.2)安装如上包,注意命令顺序
2.2a) i386
sudo yum install libbsd-0.6.0-1.el6.i686.rpm
sudo yum install libbsd-devel-0.6.0-1.el6.i686.rpm
2.2b) x86_64
sudo yum install libbsd-0.6.0-1.el6.x86_64.rpm
sudo yum install libbsd-devel-0.6.0-1.el6.x86_64.rpm

然后继续 make,成功编译

将 include/apue.h 拷贝到 /usr/include/ 目录下
将 lib/libapue.a 拷贝到 /usr/lib/ 目录下
以后要自己编译程序就可以直接使用编译出来的库了

接下来试一下这本书第一个例子,在 intro/ 目录下 ls1.c
先删掉 ls1 再编译 :
cd intro/
rm ls1
gcc -o ls1 ls1.c -lapue
ok ,ls 一下可以看到 ls1
执行:
./ls1 /home/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值