在閱讀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