系统环境与工具
- ubuntu 14.04 ×64
- Qt Creator 3.5.1 opensource
- Qt 5.5.1 GCC 64Bit
- unpv13e
编译unp源代码
代码包中的README
给出了详细步骤:
1. ./configure
2. cd lib
make
3. cd ../libfree
make
4. cd ../libroute
make
5. cd ../libxti
make
6. cd ../intro # build and test a basic client program
make daytimetcpcli
7. ./daytimetcpcli 127.0.0.1
其中步骤4
、5
对于我的系统环境而言是可以忽略的,另外在第3
步make
的过程中遇到了error
:
inet_ntop.c: In function ‘inet_ntop’:
inet_ntop.c:60:9: error: argument ‘size’ doesn’t match prototype
size_t size;
^
In file included from inet_ntop.c:27:0:
/usr/include/arpa/inet.h:64:20: error: prototype declaration
extern const char *inet_ntop (int __af, const void *__restrict __cp,
^
make: *** [inet_ntop.o] Error 1
大意是说,函数inet_ntop
的参数列表不一致。我们只需要替换当前目录下的inet_ntop.c
文件60行处的size_t
为socklen_t
即可。
步骤3
完成后,会生成libunp.a
静态库文件。
步骤6
和7
做了简单的测试,运行daytimetcpcli
来获取时间,得到的结果是refused
,因为我们尚未运行daytimetcpsev
。
配置QT
QT Kits:GCC(×86 64Bits) + GDB + Qt5.5.1 GCC 64Bit.
我们需要在.pro.
文件中添加 INCLUDEPATH 和 LIB 路径。
INCLUDEPATH += /home/chaomin/Downloads/unpv13e/lib
LIBS += /home/chaomin/Downloads/unpv13e/libunp.a -lpthread
然后,我们就可以愉快的点击Run
按钮咯~