UNIX环境高级编程(第3版)中的代码示例多次包含了一下头文件:
#include "apue.h"搜索发现原来这个头文件是作者自定义的一个文件,并在官网提供了源代码供下载。 下载之后解压该文件:
tar -zxf src.3e.tar.gz进入文件夹并编译:
cd apue.3e make等待结束,如果没有报错就成功了。(如果报错误:undefined reference to `heapsort',按照文章最后的解决方案可以解决。) 把apue.h 与 libapue.a 放入到对应的目录中:
cp ./include/apue.h /usr/include/ cp ./lib/libapue.a /usr/local/lib/qpue.h是所有函数的声明以及宏定义,gcc在搜索头文件的时候默认会去搜索/usr/include/中的文件。 libapue.a是apue.h头文件中包含的所有函数及宏定义的具体实现,是一个静态链接库,gcc在搜索链接库的时候默认会去搜索/usr/local/lib/中的文件。 至此,编译环境就配置成功,可以直接编译书中源代码。
- barrier.c:(.text+0x80): undefined reference to `heapsort'
yum install -y https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libmd-1.0.4-2.el7.x86_64.rpm yum install -y https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libmd-devel-1.0.4-2.el7.x86_64.rpm yum install -y https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libbsd-0.11.7-2.el7.x86_64.rpm yum install -y https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libbsd-devel-0.11.7-2.el7.x86_64.rpm下载完资源后,再次make,这次能成功了。 标签:源代码,ib01,x86,第三版,UNIX,64,include,apue From: https://www.cnblogs.com/chien/p/17328691.html