引用:http://blog.csdn.net/segen_jaa/article/details/8093471
背景说明:
os:ubuntu 13.10 64位
主目录:/home/zz (也就是~)
通过terminal下命令完成配置
参考文章:
http://linux.chinaunix.net/techdoc/system/2009/02/08/1061504.shtml
http://www.linuxidc.com/Linux/2011-10/44835.htm
1、 下载apue.2e(选择对应书籍):http://www.apuebook.com/code2e.html
2、 复制src.tar.gz文件到/home/zz(自建目录)下解压生成/home/zz/apue.2e
3、 修改文件apue.2e/ Make.defines.linux :WKDIR=/home/me/mydir/unixl/apue.2e
4、 复制apue.2e/lib/error.c到/usr/include目录下:sudo cp /home/zz/apue.2e/lib/error.c /usr/include
5、 修改apue.2e/apue.h文件,文件末尾#endif之前添加下面语句。#include"error.c"
(这里简单说下:err_相关函数是作者自己写的,所以需要将error.c引用进apue.h)
6、 复制apue.2e/apue.h文件到/usr/include目录下。
7、/home/zz/workspace/unix目录(我的项目目录),创建示例程序1.c。
- #include "apue.h"
- #include <dirent.h>
- int main(int argc, char* argv[])
- {
- DIR *dp;
- struct dirent *dirp;
- if (argc != 2)
- err_quit("usage: ls directory_name");
- if ((dp = opendir(argv[1])) == NULL)
- err_sys("can't open %s", argv[1]);
- while ((dirp = readdir(dp)) != NULL)
- printf("%s\n", dirp->d_name);
- closedir(dp);
- return 1;
- }
最后,编译并运行该示例程序
$ gcc 1.c (生成二进制可执行文件a.out)
$ ./a.out
输出: usage: ls directory_name