Unix网络编程代码下载安装及编译

来源:互联网 发布:ls算法 编辑:程序博客网 时间:2024/06/06 00:12

1.下载UNP官方代码:

http://www.unpbook.com/src.html


2.终端进入下载目录,解压下载的unpv13e.tar.gz文件:

# tar -zxvf unpv13e.tar.gz (#代表root用户下执行指令)


3.终端中进入unpv13e目录,执行代码

# ./configure 

# cd lib

#make

过程中如果显示,系统没有GCC,则先安装编译器GCC

对于centos/fedora系统,终端执行指令: yum -y install gcc
对于debian/ubuntu系统,终端执行指令: sudo apt-get install build-essential


4.终端进入libfree目录后,执行指令make:

# cd ../libfree 

# make

      然后在unpv13e文件夹中成功生成libunp.a文件

该过程中如果出现该错误:

inet_ntop.c:61: error: argument ’size’ doesn’t match prototype 
/usr/include/arpa/inet.h:153: error: prototype declaration 

则在libfree目录下:修改inet_ntop.c ,第60行 size_t size ->改成 socklen_t size 即可


5.将在unpv13e下生成的libunp.a静态库复制到/usr/lib/中

# cd ..

cp libunp.a /usr/lib  


6.修改unp.h并将其和config.h拷贝到/usr/include中

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

cp lib/unp.h  /usr/include 

cp config.h   /usr/include 


7.进入unpv13e/intro目录,编译UNP书上的第一个源代码,在当前目录下生成daytimetcpcli文件:

# cd ./intro

# gcc daytimetcpcli.c -o daytimetcpcli -lunp 


(gcc:编译指令,daytimetcpcli.c:源代码,-o: 参数,指定输出代码名字为daytimetcpcli , -lunp:参数,就是添加一个外连接,连接到unp.h上。本来是libunp.a ,需写成-lunp,不能写成-llibunp.a 或 -lunp.a 或 -llibunp;否则都会出现找不到指定的库 )


8. 执行daytimetcpcli文件,UNP书上第一个程序完成。


# ./daytimetcpcli



原创粉丝点击