《Unix高级编程》src.3e.tar.gz编译运行-Ubuntu


环境:Ubuntu虚拟机

下载文件

1.从官网上下载apue.3e源码:
命令 :wget http://www.apuebook.com/src.3e.tar.gz

解压文件

命令 : tar -zxvf src.3e.tar.gz
这里也可以在win环境下解压好托到Ubuntu虚拟机里

安装相关配件及提高权限

安装配件命令:sudo apt-get install libbsd-dev
尝试编译 :先转入目录 cd apue.3e 然后执行:make
我们在这里的目的是拿到lib文件夹下的libapue.a文件
在这里插入图片描述
如果有各种报错那么就要提高权限
命令:sudo su
在这里插入图片描述
在apue.3e里有一个systype.sh文件,接下来我们要做的事修改systype.sh的权限,默认的systype.sh 文件不具有可执行权限。
在这里插入图片描述

我们通过命令:
chmod +x systype.sh
给当前用户及所在组和其他组添加可执行权限。
在这里插入图片描述

可以用它来查看自己的系统环境,我们尝试运行一下。
命令: ./systype.sh
在这里插入图片描述
可以看到返回了Linux系统。

源码编译

接下来我们可以直接编译文件,先进入apue.3e文件
命令:cd apue.3e
然后直接编译
命令:make
在这里插入图片描述
编译出错不用管,只要lib文件夹里有libapue.a文件就好了。

拷贝文件

命令:
cp ./include/apue.h /usr/include/
cp ./lib/libapue.a /usr/local/lib/

需要注意中间有空格

执行文件

配置完成之后我们就可以执行文件了。
这里我们编译运行一下environ文件夹下的hello1.c文件
命令:
cd environ
gcc hello1.c -o hello -l apue
-o是将编译完的文件取名为hello。
在这里插入图片描述
然后运行。
命令:
./hello
在这里插入图片描述 运行成功。