在阅读Unix网络编程(第三版)的过程中发现(UNP),书中的代码只需要包含#include "unp.h"
即可编译,百度了一下,有不少配置unp.h
头文件环境的文章,因此试着操作了一下,以便自己日后查阅。
一、准备工作
下载源代码包:unpv.13e.tar.gz,百度一下很容易找到;
安装Linux系统,这里使用Ubuntu 12.04 32bit;
对于初次使用Ubuntu系统,需要安装必要的库和编译器,指令:
apt-get install build-essential
注意:笔者尝试用Ubuntu 64位系统进行编译,出现了以下错误,建议还是在32位系统下来完成环境配置:
二、配置步骤
第一步:打开终端,解压unpv.13e.tar.gz,进入upnv13e目录,然后输入指令:
./configure
第二步:进入lib
目录,make
,这一步会生成libunp.a
文件:
cd lib
make
第三步:类似第二步的操作:
cd ../libfree
make
第四步:还是类似的操作,进入另一目录,make
:
cd ../libgai
make
第五步:将上述步骤生成的libunp.a
,分别复制到路径/usr/lib/
和/usr/lib64/
中。
cd .. //回到unpv13e目录
sudo cp libunp.a /usr/lib
sudo cp libunp.a /usr/lib64
第六步:这一步要修改unp.h
头文件,使用以下指令打开文件:
gedit lib/unp.h
查看unp.h
文件中的#include "config.h"
部分,若是#include "config.h"
则无需改动文件,若是#include "../config.h"
则改为:#include "config.h"
。
第七步:将unp.h
和config.h
拷贝到/usr/include
中:
sudo cp lib/unp.h /usr/include
sudo cp config.h /usr/include
第八步:配置完成,尝试编译源代码,进入unpv13e/intro
目录下,输入指令:
cd ./intro
gcc daytimetcpcli.c -o daytimetcpcli -lunp
参考链接:
http://blog.csdn.net/a649518776/article/details/6724121
http://www.cnblogs.com/shenlian/archive/2011/08/19/2146190.html