解壓unpv13e.tar.gz後進入目錄查看README,而後能夠按照裏面提示操做,在Ubuntu環境下可能會遇到問題,本文系統爲ubuntu14.10:ubuntu
第一步:在終端中進入upnv13e目錄,而後執行代碼:vim
. ./configuretcp
第二步:進入lib目錄下執行make:函數
1. cd lib spa
2. make.net
第三步:創建基礎類庫:blog
1. cd ../libfree編譯
2. make基礎
在這一步會出錯沒法編譯,按照錯誤提示去修改inet_ntop.c第60行 size_t size ->改爲 socklen_t size cli
這樣雖然會有警告但仍是能夠用的
第四步:編譯函數庫:
1. cd ../libgai
2. make
四、將生成的libunp.a靜態庫複製到/usr/lib/和/usr/lib64/中。
1. cd ..
2. sudo cp libunp.a /usr/lib
3. sudo cp libunp.a /usr/lib64
五、修改unp.h並將unp.h和config.h拷貝到/usr/include中,爲了之後頭文件包含方便
1. vim lib/unp.h //將unp.h中#include"../config.h"修改#include"config.h"
2. sudo cp lib/unp.h /usr/include
3. sudo cp config.h /usr/include
六、編譯源代碼
1. cd ./intro
2. gcc daytimetcpcli.c -o daytimetcpcli -l unp
完成。
跟普通的編譯不同的是要在最後加上剛纔那個連接庫,-l參數加上剛纔那個libunp.a去掉lib和後面的.a。最後獲得參數-l unp。
本文參考 http://blog.csdn.net/zjf280441589/article/details/18660697