gyh2002
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1554回复:11

请帮我看看这个makefile 有何问题!

楼主#
更多 发布于:2002-12-18 09:35
我编一个makefile,如下:
CC=gcc
DFLAGS=-D__KERNEL__ -DMODULE -DLINUX
INCLUDE=-I/usr/src/linux-2.4.18-3/include/linux
CFLAGS=-ggdb3 -Wall -Wstrict-prototypes
***.o:***.c /usr/include/linux/version.h
    $(CC) $(DFLAGS) $(CFLAGS) $(INCLUDE) -c ***.c

clean:rm -f *.o

#make
成功的,但是加载模块时出现以下问题:
#insmod ***.o
***.o unresolved symbol __netdev_watchdog_up(这些都是我程序中用到的函数!)
***.o unrevolved symbol __.......
以下是同种一系列这样的错误。
为何会出现这个问题呢?


[编辑 -  12/18/02 by  gyh2002]
branch
驱动牛犊
驱动牛犊
  • 注册日期2003-03-27
  • 最后登录2007-11-19
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-31 09:09
我是学生,想学怎么写makefile文件,有这方面的书吗?
qzhqzh
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2018-07-12
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望23点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-28 20:17
用户被禁言,该主题自动屏蔽!
karl3
驱动牛犊
驱动牛犊
  • 注册日期2003-03-25
  • 最后登录2006-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-26 10:55
很简单,少了相关的系统的.o(驱动)没有加载!
swifthurb
驱动牛犊
驱动牛犊
  • 注册日期2003-01-27
  • 最后登录2003-03-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-03-26 10:02
你可以看看module 的导出表那一部分
就像是window下 的dll的export
harry_xin
驱动小牛
驱动小牛
  • 注册日期2002-12-24
  • 最后登录2003-02-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-01-11 15:46
我编一个makefile,如下:
CC=gcc
DFLAGS=-D__KERNEL__ -DMODULE -DLINUX
INCLUDE=-I/usr/src/linux-2.4.18-3/include/linux
CFLAGS=-ggdb3 -Wall -Wstrict-prototypes
***.o:***.c /usr/include/linux/version.h
    $(CC) $(DFLAGS) $(CFLAGS) $(INCLUDE) -c ***.c

clean:rm -f *.o

#make
成功的,但是加载模块时出现以下问题:
#insmod ***.o
***.o unresolved symbol __netdev_watchdog_up(这些都是我程序中用到的函数!)
***.o unrevolved symbol __.......
以下是同种一系列这样的错误。
为何会出现这个问题呢?


[编辑 -  12/18/02 by  gyh2002]




这些都是你定义的函数????!!!
自己定义的函数,咋可以.....
自己定义的函数请不要以下划线开头!!!
改一下函数名,试一下!!
我爱钱!! 想赚钱吗??到我的主页看看!! http://xyysx.vicp.net/upload/xianxin/
Pharos
驱动牛犊
驱动牛犊
  • 注册日期2001-08-13
  • 最后登录2005-02-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-01-07 15:54
这是内核版本冲突引起的问题,你的内核版本肯定不是2.4.18-3,最简单的办法,用 \"insmod -f\" 来加载。

Good Luck! ^<^
没有我,你怎么办,你的泪水谁为你擦干; 谁为你打伞,安慰你心寒,失眠的夜你最怕孤单。
paloo_hzg
驱动牛犊
驱动牛犊
  • 注册日期2002-12-19
  • 最后登录2002-12-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-19 10:17
***.o unresolved symbol __netdev_watchdog_up(这些都是我程序中用到的函数!)
***.o unrevolved symbol __.......
出现这种情况的原因是内核不支持这些函数.可以参考相应版本的内核的源代码进行适当的修改. ;)
gyh2002
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-18 22:05
不光是这一个函数,我程序中的用到的函数都列出来同种错误,这些函数都是在我引用的头文件里定义的!我用gcc为什么就不会出现此类问题呢?这个是什么原因造成的呢?
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-12-18 12:49
看__netdev_watchdog_up是在那里定义的。是否导出了。
robertli
驱动牛犊
驱动牛犊
  • 注册日期2002-05-21
  • 最后登录2009-01-12
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-12-18 11:05
同意楼上的看法,大概是因为声明、定义的函数未和工程环境链接上。
athena_wang
驱动牛犊
驱动牛犊
  • 注册日期2002-12-17
  • 最后登录2002-12-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-12-18 10:42
看看这些函数的声明、定义有没有问题?你的程序中是否包括了对他们的声明、定义。
游客

返回顶部