APUE中的第一个程序-myls如何才能运行
2009-10-17 18:44
393 查看
初学《UNIX环境高级编程》的朋友都会遇到一个问题,运行里面的实例(download: http://www.apuebook.com/
)时就出现问题,提示
"错误:apue.h:没有那个文件或目录".
apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是
/usr/include),这样gcc编译器就可以找到它了。
解决办法:
step 1;
先去那个网站downlowd apue
的tar.gz包,然后解压至电脑中的某个目录,比如我的是在/home/user/下,然后进入解压目录apue.2e,
setp 2;修改
Make.defines.linux中的WKDIR=/home/xxx/apue.2e,为WKDIR=/home/user/apue.2e,这就
是我们将要make的工作目录,然后再进入std目录,用vi打开linux.mk,将里面的nawk全部改为awk,可以使用这个命令
:%s/nawk/awk/g (注意前面有冒号), 然后
make
step 3; 超级用户权限登入
#cd /usr/include,
将apue.h和error.c两个文件copy到该目录下。(apue.h位于 your_apue_path/inlcude ;
error.c位于your_apue_path/lib )
step 4:
编辑apue.h
(当然你也可以选择其他的文档编辑器)
#vi apue.h
在最后一行 #endif
前面添加一行 #include "error.c" (这一点非常重要,就是把 #include "erroc.h" 放在apue.h的倒数第二行)
:wq 保存,退出.
这样你就可以运行下载的apue程序了.
HAVE FUN!
)时就出现问题,提示
"错误:apue.h:没有那个文件或目录".
apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是
/usr/include),这样gcc编译器就可以找到它了。
解决办法:
step 1;
先去那个网站downlowd apue
的tar.gz包,然后解压至电脑中的某个目录,比如我的是在/home/user/下,然后进入解压目录apue.2e,
setp 2;修改
Make.defines.linux中的WKDIR=/home/xxx/apue.2e,为WKDIR=/home/user/apue.2e,这就
是我们将要make的工作目录,然后再进入std目录,用vi打开linux.mk,将里面的nawk全部改为awk,可以使用这个命令
:%s/nawk/awk/g (注意前面有冒号), 然后
make
step 3; 超级用户权限登入
#cd /usr/include,
将apue.h和error.c两个文件copy到该目录下。(apue.h位于 your_apue_path/inlcude ;
error.c位于your_apue_path/lib )
step 4:
编辑apue.h
(当然你也可以选择其他的文档编辑器)
#vi apue.h
在最后一行 #endif
前面添加一行 #include "error.c" (这一点非常重要,就是把 #include "erroc.h" 放在apue.h的倒数第二行)
:wq 保存,退出.
这样你就可以运行下载的apue程序了.
HAVE FUN!
相关文章推荐
- (转载)unix环境高级编程 -- APUE中的第一个程序-myls如何才能运行
- APUE手记01之第一个例程的运行myls.c
- 《如何运行第一个C/C++语言程序》
- 如何配置C#环境变量并运行第一个程序
- 如何给一个外行人解释:世界上第一个程序是如何写出来并让它按规定运行?
- 远程桌面如何设置才能只运行某个程序而不运行桌面
- 干净win7要做几步才能运行第一个Spring MVC 写的动态web程序
- 如何用命令行编译、运行第一个java程序(Hello World!)
- 如何让开机后第一个运行的程序是我的程序,而不是Launcher?
- 3. 编写的第一个android HelloWorld程序如何在手机上面调试运行
- tiny6410的Qt4的移植和第一个Qt4软件的运行以及如何在qtopia下运行自己的qt4程序
- apue学习第二天(2)——第一个程序myls的执行
- 如何运行第一个C|C++语言程序
- 如何在VS Code 中运行、调试你的第一个Angular2程序
- 运行apue下的第一个程序
- [web开发] 如何在Mac OS上安装Apache Tomcat并运行你的第一个Servlet程序
- 如何创建struts2第一个程序及其原理解释
- 如何从windows的command line运行Qt程序
- C++中如何计算程序运行的时间 (转载)
- [快手(AAuto)学习笔记]如何让程序在运行时请求管理员权限(UAC)