Macbook Air上编译APUE源码
整体编译代码
1 解压src.rar, 释放文件到当前用户的根目录下(/Users/lishujun/)
2 进入/Users/lishujun/apue.2e
3 修改Make.define.macos文件,在文件里指定源码所在目录
WKDIR=/Users/lishujun/apue.2e
4 进入/Users/lishujun/apue.2e/include目录,修改apue.h
#if defined(SOLARIS) #define _XOPEN_SOURCE 500 /* Single UNIX Specification, Version 2 for Solaris 9 */ #define CMSG_LEN(x) _CMSG_DATA_ALIGN(sizeof(struct cmsghdr)+(x)) #elif defined(MACOS) /* 增加这行,注意没有感叹号 */ #elif !defined(BSD) #define _XOPEN_SOURCE 600 /* Single UNIX Specification, Version 3 */ #endif
5 回到上层目录,执行编译命令
make clean make macos
6 验证已经编译成功,进入/Users/lishujun/apue.2e/file目录,修改ls1.c,头文件修改成 ../include/apue.h,然后
gcc ls1.c ../lib/libapue.a
就会有a.out文件 即ls,就说明搞定了