起因:Unix Networking Programming一书提供了部分带有源码的例子,在试着编译它们的时候,发现少了unp.h这一头文件。
环境:Centos 6.3
步骤:
1. 安装开发工具,类似于unbuntu里build-essential
2. 下载该书携带的头文件及示例源码
点此下载unpv13e.tar.gz
3. 解压unpv13e.tar.gz,进入unpv13e目录,执行下面命令
./configure
cd lib
make
cd ../libfree
make
cd ../libgai
make
将生成的libunp.a静态库复制到/usr/lib中
su root
cp libunp.a /usr/lib
修改unp.h并将其和config.h拷贝到/usr/include中,为了以后include方便
vi unp.h //将unp.h中#include "../config.h"修改为#include "config.h"
cp lib/unp.h /usr/include
cp config.h /usr/include
最后,可以编译源代码
cd intro/
gcc daytimetcpcli.c -o daytimetcpcli -lunp
跟普通的编译不一样的是要在最后加上刚才那个链接库,-l参数加上刚才那个libunp.a去掉lib和后面的.a。最后得到参数-lunp。
注:编译unpv13e过程如果产生问题,可以参照[3]解决。
原文:
[1] http://blog.youkuaiyun.com/a649518776/article/details/6724121
[2] http://awind.blog.51cto.com/4628868/861306
引用:
[3] http://blog.youkuaiyun.com/carlshen/article/details/6312624