linux编译模块程序的小问题
两个程序mod1.c和mod2.c分开make没有问题,但是我在一个makefile里面写mydevice-objs:=mod1.omod2.oobj-m:=mydevi...
两个程序mod1.c和mod2.c分开make没有问题,但是我在一个makefile里面写mydevice-objs :=mod1.o mod2.o obj-m := mydevice.o,想一次make,就会提示In function `init_module':
mod2.c.init.text+0x0): multiple definition of `init_module'等等之类,
这个错误能理解,但是这个问题怎么改我不知道,求指教 展开
mod2.c.init.text+0x0): multiple definition of `init_module'等等之类,
这个错误能理解,但是这个问题怎么改我不知道,求指教 展开
3个回答
展开全部
`init_module'
你两个文件里面有两个 `init_module'函数,
要去掉一个。在去掉这个函数的文件里面补一句extern **** `init_module'(*****)声明。
你两个文件里面有两个 `init_module'函数,
要去掉一个。在去掉这个函数的文件里面补一句extern **** `init_module'(*****)声明。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把Makefile全部内容写出来,初步感觉您是.o定义顺序的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就把其中一个文件中的init_module改名为别的随便什么就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询