解决方法:
一:新建文件夹中运行(Ubuntu12):
(1)将error.c和apue.h复制到新建文件夹中
(2)在apue.h中添加 #include "error.c"
二:在Ubuntu 12.04系统下配置apue2环境。
0、为了操作方便,建议使用root权限。
1、下载源码包,解压至某个目录,比如:/root/apue.2e。
-------------------------------------------------------------
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2013年资料/1月/8日/Ubuntu 12.04 配置apue2环境
-------------------------------------------------------------
2、将/root/apue.2e/Make.defines.linux中第6行WKDIR=/home/sar/apue.2e更改为/root/apue.2e。
3、将/root/apue.2e/ipp/ipp.h中第122行中的status换为Status。(也可换为其他,但要与下面对应)
4、将/root/apue.2e/ipp/printd.h中第977行中的status替换为Status。(与上面对应)
5、将/root/apue.2e/threadctl/getenv1.c和/root/apue.2e/threadctl/getenv3.c中第1行#include<limits.h>更换为#include <linux/limits.h>。
6、此时,如果编译通过,会在/root/apue.2e/lib/目录下生成libapue.a静态链接库文件。
7、将/root/apue.2e/lib/libapue.a拷贝至/usr/local/lib/目录下。
8、将/root/apue.2e/include/apue.h拷贝至/usr/local/include/目录下。
9、编译示例:gcc main.c -lapue 。
OVER!
以下方法本人验证未成功,望牛人指出错误所在:
接下来,按正常步骤来吧:
1、先在这个网站 http://www.apuebook.com/ 下载tar.gz格式的源码包,然后解压至某个目录,比如说/home/xhm/下,然后进入目录apue.2e,把文件 Make.defines.linux 中的 WKDIR=/home/sar/apue.2e 修改为 WKDIR=/home/xhm/apue.2e ,然后再进入apue.2e目录下的std目录,打开linux.mk,将里面的nawk全部替换为awk。解决:把当前源码中的apue.h(在include/apue.h)拷贝到/usr/include
{注:此处可能提示出错:权限不够,无法在/usr/include目录下创建apue.h文件
解决:通过终端命令符完成
1.UBUNTU中如何获得root权限
在终端中输入:
sudo passwd root
Enter new UNIX password: (在这输入你的密码)
Retype new UNIX password: (确定你输入的密码)
passwd: password updated successfully
以后,如果在想获得root权限,只需进行如下的操作:
su root
Password: (在此输入你上面设置的密码)
如果要再次禁用 root 帐号,
那么可以执行 sudo passwd -l root
2.文件拷贝:cp -Rf /home/user1/* /root/temp/
将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user1目录本身。
即格式为:cp -Rf 原路径/ 目的路径/
}
再编译,出现错误2:ARG_MAX 没找到