imready

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

解压unpv13e.tar.gz后进入目录查看README,然后可以按照里面提示操作,不过会遇到问题

第一步:在终端中进入upnv13e目录,然后执行代码:

$ ./configure

第二步:进入lib目录下执行make:

$ cd lib
$ make

第三步:建立基础类库:

$ cd ../libfree # continue building the basic library
$ make
会报错inet_ntop.c:61: error: argument ’size’ doesn’t match prototype
/usr/include/arpa/inet.h:153: error: prototype declaration
解决方法:inet_ntop.c第60行 size_t size ->改成 socklen_t size

第四步:编译函数库:

$ cd ../libgai # the getaddrinfo() and getnameinfo() functions
$ make

第五步:将生成的libunp.a静态库复制到/usr/lib/和/usr/lib64/中。

$ cd .. //回到unpv13e目录

$ sudo cp libunp.a /usr/lib
$ sudo cp libunp.a /usr/lib64

第六步:修改unp.h并将其和config.h拷贝到/usr/include中,为了以后include方便

gedit lib/unp.h //将unp.h中#include "../config.h"修改为#include "config.h"

$ sudo cp lib/unp.h /usr/include
$ sudo cp config.h /usr/include

第七步:编译源代码

$ cd ./intro
$ gcc daytimetcpcli.c -o daytimetcpcli -lunp 参数-lunp表示链接libunp.a。

编写程序

以后编写完的程序按照第七中的代码编译就行。

参考文章1
参考文章2

posted on 2016-03-01 13:44  imready  阅读(270)  评论(0)    收藏  举报