免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2553 | 回复: 6
打印 上一主题 下一主题

我在编译第一个apue程序时,出现错误,请帮我看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-16 15:35 |只看该作者 |倒序浏览
原书代码:

  1. #include <sys/types.h>
  2. #include <dirent.h>
  3. #include "ourhdr.h"

  4. int
  5. main(int argc,char *argv[])
  6.         DIR         *dp
  7.         struct dirent *dirp;
  8.          
  9.          if (argc != 2)
  10.                  err_quit("a single argument (the directory name) is required");
  11.          if ((dp = opendir(argv[1])) == NULL)
  12.                   err_sys("can't open %s",argv[1]);
  13.          while ((dirp =readdir(dp)) != NULL)
  14.                   printf("%\n",dirp->d_name);

  15.           closedir(dp);
  16.           exit(0);
  17. }
复制代码


编译时,总是出现:

  1. /var/tmp//ccJsgUhB.O(.text+0x2b):in function main:
  2. undefined reference to 'err_quit'
  3. /var/tmp//ccJsgUhB.O(.text+0x5f):in function main:
  4. undefined reference to 'err_sys
复制代码


函数的原型是:

  1. void err_quit(const char *,...)
  2. void err_sys(const char *,...)
复制代码


请问这是什莫原因?谢谢

论坛徽章:
0
2 [报告]
发表于 2006-02-16 15:46 |只看该作者
原帖由 liuyishao 于 2006-2-16 15:35 发表
原书代码:
[code]
#include <sys/types.h>
#include <dirent.h>
#include "ourhdr.h"

int
main(int argc,char *argv[])
        DIR         *dp
        struct dirent *dirp; ...


光有原型没用,链接时没找到该函数的实现代码。你是从网上下的整套代码还是自己敲进去的?
如果是网上下的,那么你按照README文件说的步骤把库文件编译、安装好就没问题了,新版
的代码在FreeBSD上的安装很简单的。如果你是自己敲的代码,那就别管他那套了,缺哪个函
数自己随便写一个就是了。

论坛徽章:
0
3 [报告]
发表于 2006-02-16 19:59 |只看该作者
原帖由 雨丝风片 于 2006-2-16 15:46 发表


光有原型没用,链接时没找到该函数的实现代码。你是从网上下的整套代码还是自己敲进去的?
如果是网上下的,那么你按照README文件说的步骤把库文件编译、安装好就没问题了,新版
的代码在FreeBSD上的安装很 ...

谢谢,确实忽略了。

论坛徽章:
0
4 [报告]
发表于 2006-02-17 16:48 |只看该作者
apue的代码在书中所写的不完整,完整代码在作者出版商ftp上,前言里面有,不过因为一些历史性问题,也是编译不过的,呵呵

论坛徽章:
0
5 [报告]
发表于 2006-02-17 17:15 |只看该作者
书后面的附录里也有这些的

论坛徽章:
0
6 [报告]
发表于 2006-02-17 17:17 |只看该作者
原帖由 fangzhang 于 2006-2-17 17:15 发表
书后面的附录里也有这些的


说的就是书后的不完整。这位肯定是没仔细看书。

论坛徽章:
0
7 [报告]
发表于 2006-02-17 18:18 |只看该作者
原帖由 colddawn 于 2006-2-17 17:17 发表


说的就是书后的不完整。这位肯定是没仔细看书。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP