APUE unix环境高级编程第三版 源码无法make成功

时间:2021-11-04 20:38:13
在官方下载了第三版的源码 执行make不通过

运行环境:centos7
编译:gcc

下面是出错代码:

making threads
make[1]: 进入目录“/home/dreamer/tmp/apue.3e/threads”
gcc -ansi -I../include -Wall -DLINUX -D_GNU_SOURCE  barrier.c -o barrier  -L../lib -lapue -pthread -lrt -lbsd
/tmp/ccjlRLNh.o:在函数‘thr_fn’中:
barrier.c:(.text+0x80):对‘heapsort’未定义的引用
collect2: 错误:ld 返回 1
make[1]: *** [barrier] 错误 1
make[1]: 离开目录“/home/dreamer/tmp/apue.3e/threads”
make: *** [all] 错误 1
[root@localhost apue.3e]# 

搞不懂了,按我的理解应该是没有heapsort这个函数定义,可是却不知道如何解决,不知道为理解对不对希望大家指点迷经。

5 个解决方案

#1


建议先通读软件包自带的README文件。

#2


同问,readme里面就是写了个直接执行make

#3


下载源码下来后,自己先make一下,会得到一个文件夹,拷贝到你现在写代码的目录下,我记得有个文件叫libapue.a ,  编译的时候加上这个文件就行了。

#4


好吧,我看错题目了,我记得我当时把三个make文件都执行了一遍

#5


http://albertcn.blog.163.com/blog/static/209420145201410542016796/

看这个网址,我的CentOS6.5 弄好了

#1


建议先通读软件包自带的README文件。

#2


同问,readme里面就是写了个直接执行make

#3


下载源码下来后,自己先make一下,会得到一个文件夹,拷贝到你现在写代码的目录下,我记得有个文件叫libapue.a ,  编译的时候加上这个文件就行了。

#4


好吧,我看错题目了,我记得我当时把三个make文件都执行了一遍

#5


http://albertcn.blog.163.com/blog/static/209420145201410542016796/

看这个网址,我的CentOS6.5 弄好了