Unix Network Programming 2nd Edtion Source Code 编译问题解决
来源:互联网 发布:rpm卸载软件 编辑:程序博客网 时间:2024/05/16 05:08
按照README的指示走
#cd unpv12e
#cd lib
#make
gcc -g -O2 -D_REENTRANT -Wall -c -o connect_nonb.o connect_nonb.c
In file included from connect_nonb.c:1:
unp.h:114: redefinition of `struct in_pktinfo'
make: *** [connect_nonb.o] Error 1
这个错误的修正方法是注释掉该定义(从网上搜索来的,也不知道正确不正确,反正能通过)
cd ../libfree
make
inet_ntop.c:61: error: argument 'size' doesn't match prototype
/usr/include/arpa/inet.h:153: error: prototype declaration
inet_ntop.c第61行 size_t size ->改成 socklen_t size
#cd ../intro
#make
...
/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any'
daytimetcpsrvv6.o(.text+0x3d):/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any'
daytimetcpsrvv6.o(.text+0x48):/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any'
daytimetcpsrvv6.o(.text+0x56):/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any
collect2: ld returned 1 exit status
make: *** [daytimetcpsrvv6] Error
将daytimetcpsrvv6.c:18的语句extern struct in6_addr ipv6addr_any;
改为struct in6_addr ipv6addr_any;
#./daytimetcpsrv &
#./daytimetcpcli 127.0.0.1
得到输出时间应该就表示安装初步成功了。
------------------------------------------
建议在执行server和client时加上port number
加入port number的修改 :
tcpservselect.c
加入 -> int SERVER_PORT = (u_short)atoi(argv[1]);
修改 -> servaddr.sin_port = htons(SERVER_PORT);
SERVER_PORT变量名称可以自取
执行时加入port
./tcpservselect01 9999
tcpcli01.c
加入 -> int SERVER_PORT = (u_short)atoi(argv[2]);
修改 -> if (argc != 3)
err_quit("usage: tcpcli <IPaddress> <Port>");
servaddr.sin_port = htons(SERVER_PORT);
SERVER_PORT变量名称可以自取
执行时加入port
./tcpcli01 140.113.235.131 9999
#cd unpv12e
#cd lib
#make
gcc -g -O2 -D_REENTRANT -Wall -c -o connect_nonb.o connect_nonb.c
In file included from connect_nonb.c:1:
unp.h:114: redefinition of `struct in_pktinfo'
make: *** [connect_nonb.o] Error 1
这个错误的修正方法是注释掉该定义(从网上搜索来的,也不知道正确不正确,反正能通过)
cd ../libfree
make
inet_ntop.c:61: error: argument 'size' doesn't match prototype
/usr/include/arpa/inet.h:153: error: prototype declaration
inet_ntop.c第61行 size_t size ->改成 socklen_t size
#cd ../intro
#make
...
/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any'
daytimetcpsrvv6.o(.text+0x3d):/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any'
daytimetcpsrvv6.o(.text+0x48):/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any'
daytimetcpsrvv6.o(.text+0x56):/root/unpv12e/intro/daytimetcpsrvv6.c:18: undefined reference to `ipv6addr_any
collect2: ld returned 1 exit status
make: *** [daytimetcpsrvv6] Error
将daytimetcpsrvv6.c:18的语句extern struct in6_addr ipv6addr_any;
改为struct in6_addr ipv6addr_any;
#./daytimetcpsrv &
#./daytimetcpcli 127.0.0.1
得到输出时间应该就表示安装初步成功了。
------------------------------------------
建议在执行server和client时加上port number
加入port number的修改 :
tcpservselect.c
加入 -> int SERVER_PORT = (u_short)atoi(argv[1]);
修改 -> servaddr.sin_port = htons(SERVER_PORT);
SERVER_PORT变量名称可以自取
执行时加入port
./tcpservselect01 9999
tcpcli01.c
加入 -> int SERVER_PORT = (u_short)atoi(argv[2]);
修改 -> if (argc != 3)
err_quit("usage: tcpcli <IPaddress> <Port>");
servaddr.sin_port = htons(SERVER_PORT);
SERVER_PORT变量名称可以自取
执行时加入port
./tcpcli01 140.113.235.131 9999
- Unix Network Programming 2nd Edtion Source Code 编译问题解决
- Unix Network Programming Volume 1 Compile issue solution for the 2nd and 3rd edition
- unix network programming volume2 sorce code build and get(UNIX網絡編程卷2第二版)
- Network Programming for Microsoft Windows 2nd Edition
- Advanced Programming in the UNIX Environment (2nd Edition)
- Note: UNIX Network Programming
- unix network programming
- Unix Network Programming
- unix network programming
- Unix network programming
- unix network programming volume1 sorce code build and get(UNIX網絡編程卷1第三版)
- UNIX copy_file source code
- Unix Network Programming {socket 选项}
- Unix Network Programming {Nonblocking IO}
- Unix Network Programming(3)---UDP
- Unix Network Programming(4)---TCP
- Unix Network Programming(5)---SCTP
- Network Programming for Microsoft Windows 2nd(Windows 网络编程第二版) 学习心得
- 类似UC的导航的下拉菜单
- 二进制patch工具xdelta的使用方法
- 图片不存在的时候,显示一个默认图片
- HDU 1239 素数筛选+枚举
- iOS并发编程指南
- Unix Network Programming 2nd Edtion Source Code 编译问题解决
- Android 自动接听来电
- Struts2框架(二)配置
- 记录PHP错误日志 display_errors与log_errors的区别
- 【开源自动化测试疑难FAQ】【框架】TestNG运行失败汇总XML文件格式重塑
- 通过GUID读取COM口信息
- 开源软件许可协议简介
- Mp4格式分析:Adobe的sample1_1500kbps.f4v文件格式之二:moov分析
- 《深入理解JAVA虚拟机》笔记