UNIX网络编程卷2源码编译错误
源码下载地址:http://www.ituring.com.cn/book/156
系统:Ubuntu 14.04
解压源码,按照README的说法执行:
./configure
cd lib
make
错误如下:
In file included from unpipc.h:7:0,
from mainpipe.c:1:
../config.h:56:17: error: duplicate ‘unsigned’
#define uint8_t unsigned char /* <sys/types.h> */
^
../config.h:56:26: error: two or more data types in declaration specifiers
#define uint8_t unsigned char /* <sys/types.h> */
^
../config.h:57:18: error: duplicate ‘unsigned’
#define uint16_t unsigned short /* <sys/types.h> */
^
../config.h:57:27: error: duplicate ‘short’
#define uint16_t unsigned short /* <sys/types.h> */
^
../config.h:58:18: error: duplicate ‘unsigned’
#define uint32_t unsigned int /* <sys/types.h> */
^
../config.h:58:27: error: two or more data types in declaration specifiers
#define uint32_t unsigned int /* <sys/types.h> */
解决办法:
直接到../config.h
文件里面,注释掉报错的几行:
/* Define the following to the appropriate datatype, if necessary */
/* #undef int8_t */ /* <sys/types.h> */
/* #undef int16_t */ /* <sys/types.h> */
/* #undef int32_t */ /* <sys/types.h> */
/************下面三行注释掉××××××××××××××××××/
//#define uint8_t unsigned char /* <sys/types.h> */
//#define uint16_t unsigned short /* <sys/types.h> */
//#define uint32_t unsigned int /* <sys/types.h> */
/******************************************/
/* #undef size_t */ /* <sys/types.h> */
/* #undef ssize_t */ /* <sys/types.h> */