编译APUE源码

第二版

 参考:https://blog.csdn.net/freeking101/article/details/78184757

1.到www.apuebook.com下载源码
2.tar解包,cd apue.2e
3.vi Make.defines.linux   修改变量WKDIR,指向你的apue源码的位置,
    我的是/home/huangz/code/apue.2e,所以 WKDIR=/home/huangz/code/apue.2e
4.vi include/apue.h  
  增加一个常量ARG_MAX,这是threadctl/getenv1.c和threadctl/getenv3.c要用到的;4096这个值是参考里给的,如果有问题,自己修改吧。
  #define ARG_MAX 4096
5.vi threadctl/getenv1.c   增加
  #include "apue.h" 
6.vi threadctl/getenv3.c   增加
  #include "apue.h"
7.vi threads/badexit2.c   修改第31行,将pthread_self()的返回值转换为int类型。
  printf("thread 2: ID is %d\n", (int)pthread_self());
8.vi std/linux.mk   将两个nawk改为gawk
9.make
10.sudo cp include/apue.h /usr/include
   sudo cp lib/libapue.a /usr/lib
11. 使用gcc -o hello hello.c libapue.a来编译你的代码

备注:下载的源码中std/conf.c可能被重命名了,是的话改回来。

第三版

https://www.cnblogs.com/howe670/p/8732933.html

你可能感兴趣的:(Linux开发)