UNIX网络编程 第2卷 进程间通信 代码安装

1. 编译原书所带例子:

    unpv22e.tar.gz

   下载地址:http://www.kohala.com/start/unpv22e/unpv22e.tar.gz

2. 解压:

   $tar -zxvf unpv22e.tar.gz

3. 编译:

   $cd unpv22e

   $ ./configure

   $ cd lib

   $ make
gcc -g -O2 -D_REENTRANT -Wall -D_POSIX_PTHREAD_SEMANTICS   -c -o daemon_inetd.o daemon_inetd.c
In file included from /usr/include/netinet/in.h:23,
                 from /usr/include/rpc/types.h:90,
                 from /usr/include/rpc/rpc.h:41,
                 from unpipc.h:115,
                 from daemon_inetd.c:1:
/usr/include/stdint.h:49: 错误:重复的 ‘unsigned’
/usr/include/stdint.h:49: 错误:声明指定了两个以上的数据类型
/usr/include/stdint.h:50: 错误:重复的 ‘unsigned’
/usr/include/stdint.h:50: 错误:重复的 ‘short’
/usr/include/stdint.h:52: 错误:重复的 ‘unsigned’
/usr/include/stdint.h:52: 错误:声明指定了两个以上的数据类型
make: *** [daemon_inetd.o] 错误 1

  这时需要修改unpipc.h第115行。unpipc.h中把115内容注释掉。再次编译。

$ make
gcc -g -O2 -D_REENTRANT -Wall -D_POSIX_PTHREAD_SEMANTICS   -c -o daemon_inetd.o daemon_inetd.c
In file included from daemon_inetd.c:1:
unpipc.h:479: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
unpipc.h:480: 错误:expected ‘)’ before ‘*’ token
make: *** [daemon_inetd.o] 错误 1

再次出现错误,把unpipc.h中第479,480行注释掉。再次编译。

$ make

...

gcc -g -O2 -D_REENTRANT -Wall -D_POSIX_PTHREAD_SEMANTICS   -c -o wrapsunrpc.o wrapsunrpc.c
wrapsunrpc.c:3: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
wrapsunrpc.c:16: 错误:expected ‘)’ before ‘*’ token
make: *** [wrapsunrpc.o] 错误 1

这时还会出现上面的错误,这时需要修改unpv22e/Make.defines中的LIB_OBJS的“.o”文件,删除“wrapsunrpc.o”。

再次编译。

$ make

--这次应该没有问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值