当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 编译出现/usr/bin/ld: cannot find -lwho1 collect2: ld 返回 1 ?????
帖子发表于 : 2009-10-20 16:44 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
代码:
/*
照《Unix/Linux编程 实践教程》这本书上抄的源代码,但系统不一样
英文名:《Understanding Unix/Linux Programming》

这个程序功能:编写类似系统的who命令
*/
#include<stdio.h>
#include<utmp.h>
#include<fcntl.h>
#include<unistd.h>

#define SHOWHOST

int main(){
   struct utmp current_record;
   int utmpfd;
   int reclen = sizeof(current_record);

   if((utmpfd = open(UTMP_FILE, O_RDONLY)) == -1){
      perror(UTMP_FILE);
      exit(1);
   }
   while(read(utmpfd, &current_record, reclen) == reclen)
      show_info(&current_record);
   close(utmpfd);
   return 0;

}

show_info(struct utmp *utbufp)
{
   printf("%-8.8s", utbufp->ut_name);
   printf(" ");
   printf("%-8.8s", utbufp->ut_line);
   printf(" ");
   printf("%10ld", utbufp->ut_time);
   printf(" ");
#ifdef SHOWHOST
   printf("(%s)", utbufp->ut_host);
#endif
   printf("\n");

}

------------------
保存为who1.c
以下是编译
chen@chen-notebook:~$ gcc who1.c -l who1
who1.c: 在函数‘main’中:
who1.c:15: 警告: 隐式声明与内建函数‘exit’不兼容
/usr/bin/ld: cannot find -lwho1
collect2: ld 返回 1
chen@chen-notebook:~$
------------------

问这是什么原因?

我GOOGLE半天,看到很多人都有相同问题,只-lwho1这点不一样,各种各样的解决办法,我试了很多都不行


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 编译出现/usr/bin/ld: cannot find -lwho1 collect2: ld 返回 1 ?????
帖子发表于 : 2009-10-20 22:39 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
我自己顶一下,等答案呀!!!


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 编译出现/usr/bin/ld: cannot find -lwho1 collect2: ld 返回 1 ?????
帖子发表于 : 2009-10-21 20:47 

注册: 2008-10-31 22:12
帖子: 6546
系统: 践兔
送出感谢: 18
接收感谢: 25
代码:
21/10/2009 20:50:29
tusooa (~)
>> grep 'exit (' /usr/include/stdlib.h
extern int atexit (void (*__func) (void)) __THROW __nonnull ((1));
extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
extern void exit (int __status) __THROW __attribute__ ((__noreturn__));

因此你得
代码:
#include <stdlib.h>


_________________
代码:
] ls -ld //


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 编译出现/usr/bin/ld: cannot find -lwho1 collect2: ld 返回 1 ?????
帖子发表于 : 2009-10-21 21:17 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
谢谢,我试试!!! :em05


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 编译出现/usr/bin/ld: cannot find -lwho1 collect2: ld 返回 1 ?????
帖子发表于 : 2009-10-22 21:07 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
今天我重新编译,居然一点问题都没有了,怪事
估计与电脑重启后有关


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 编译出现/usr/bin/ld: cannot find -lwho1 collect2: ld 返回 1 ?????
帖子发表于 : 2009-10-22 23:46 
头像

注册: 2007-08-05 17:40
帖子: 4968
送出感谢: 0 次
接收感谢: 4
编译的参数错了。

gcc who1.c -l who1
---->>>
gcc who1.c -o who1


_________________
free VPN
YouKuDownLoader
代码:
pip3 install ykdl

install YouKuDownLoader, have fun in downloading.
YouKuDownLoader所支持网站列表


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 编译出现/usr/bin/ld: cannot find -lwho1 collect2: ld 返回 1 ?
帖子发表于 : 2011-10-29 13:58 

注册: 2011-10-10 15:05
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
我遇到了同样问题,把沉底的帖子再顶顶 :em04


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 编译出现/usr/bin/ld: cannot find -lwho1 collect2: ld 返回 1 ?
帖子发表于 : 2011-10-29 19:28 
头像

注册: 2011-03-27 19:01
帖子: 83
送出感谢: 4
接收感谢: 0 次
cnkilior 写道:
编译的参数错了。

gcc who1.c -l who1
---->>>
gcc who1.c -o who1


观察力很细致.


_________________
A year's plan starts with spring.


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译