APUE学习--第三版apue编译

第三版apue编译:
 
 
1.
首先在  http://www.apuebook.com/   下载源码解压: 
    tar zxvf src.3e.tar.gz
看完Readme可知,直接执行make即可
 
 
2.
执行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,成功编译
 
3.
将 include/apue.h 拷贝到 /usr/include/ 目录下
将 lib/libapue.a 拷贝到 /usr/lib/ 目录下
以后要自己编译程序就可以直接使用编译出来的库了
 
4.
接下来试一下这本书第一个例子,在 intro/ 目录下 ls1.c
先删掉 ls1 再编译 :
    cd intro/
    rm ls1
    gcc -o ls1 ls1.c  -lapue
ok ,ls 一下可以看到 ls1
执行:
    ./ls1  /home/
 
 
参考:
 
 





posted @ 2015-11-06 16:42  Blog.Wu  阅读(615)  评论(0编辑  收藏  举报