当前位置:  技术问答>linux和unix

各位大侠,我想编译一个多文件内核模块,但是无论怎么编,tcp_phas.c这个文件总是不编译(我在这个里面写上乱行不报错),下面是两个方法,请指教。

    来源: 互联网  发布时间:2016-09-06

    本文导语:  各位大侠,我想编译一个多文件内核模块,但是无论怎么编,tcp_phas.c这个文件总是不编译(我在这个里面写上乱行不报错),下面是两个方法,请指教。 下面是方法一: KERNEL_PATH  = /usr/src/kernels/2.6.18-8.el5-i686/ CURRE...

各位大侠,我想编译一个多文件内核模块,但是无论怎么编,tcp_phas.c这个文件总是不编译(我在这个里面写上乱行不报错),下面是两个方法,请指教。

下面是方法一:
KERNEL_PATH  = /usr/src/kernels/2.6.18-8.el5-i686/
CURRENT_PATH = $(shell pwd)
obj-m = tcp_phas.o
tcp_phas-objs = user.o tcp_conn.o usr_conns.o usr_reso_auth.o

all:
        make -C $(KERNEL_PATH) M=$(CURRENT_PATH) modules
clean:
        make -C $(KERNEL_PATH) M=$(CURRENT_PATH) clean


======================================================================
方法2:


ifneq ($(KERNELRELEASE),)
# call from kernel build system  tcp_phas.o
obj-m    := tcp_phas.o
tcp_phas-objs := user.o tcp_conn.o usr_conns.o usr_reso_auth.o
#obj-m    := tcp_phas.o

else

KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD       := $(shell pwd)
modules:
        $(MAKE) -C $(KERNELDIR) M=$(PWD)  modules
endif

clean:
        rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions

|
obj-m = tcp_phas.o
tcp_phas-objs = user.o tcp_conn.o usr_conns.o usr_reso_auth.o
名字错了

obj-m = xxxx.o (do not use tcp_phas here)
xxxx-objs = user.o tcp_conn.o usr_conns.o usr_reso_auth.o tcp_phas.o

|
tcp_phas-objs = user.o tcp_conn.o usr_conns.o usr_reso_auth.o
改成:
tcp_phas-objs = user.o tcp_conn.o usr_conns.o usr_reso_auth.o tcp_phas.o

|
obj-m = tcp_phas.o
tcp_phas-objs = user.o tcp_conn.o usr_conns.o usr_reso_auth.o
tcp_phas.o是依赖于tcp_phas-objs的,而后者依赖的是那四个.o文件,与你的tcp_phas.c没有关系。想知道为什么,可以研究一下Documentation/kbuild/makefiles.txt。

看了一下内核树的源代码Makefile,都是直接用obj-y += tcp_phas.o这样来的,没有tcp_phas-objs = hello.o这样用。

    
 
 

您可能感兴趣的文章:

  • 大侠救命,如何编译gz包
  • 大侠来解释下,系统,编译器,与变量字节的关系
  • 初学者的烦恼:编译器的选择与用法?谢谢各位大侠帮忙!
  • 实在是太菜了,在LINUX下居然找不到GCC编译器,大侠快来救急!
  • 请问各位大侠有没有防止class被反编译的方法?多多益善
  • java程序的扩展名是什么?如何用jdk编译并生成一个可执行文件呢?我太菜了。各位大侠见笑了。
  • 请问各位大侠,我在JB中加入自己写的*.java文件,为什么不能正常编译成jar?
  • 编译模块出错,大侠帮帮忙!
  • 请大侠帮忙,linux-2.6.39.1内核编译报错
  • 哪位大侠能告诉我 为什么一台赛阳1G 128M内存的机器为什么编译速度比 P42.4 512M内存快呀
  • 大侠,请解释一下这个编译问题,谢谢!
  • 编译总出错,什么问题,急死我了!大侠帮助啊?
  • 大侠帮忙看看,tomcat在编译bean的时候出错?
  • 有没有编译过lpp-0.4.2,我这里编译不过,请各位大侠帮我看看。
  • 初学linux,多个c文件怎么编译?附上我 写的 程序,请大侠指点~
  • 有关GTK+编译的一个简单问题,请大侠指点一下,谢谢
  • hotenM(CMP)大侠等EJB大侠进来!小问题请教! iis7站长之家
  • 为什么静态编译一个程序的时候总是出错?大侠帮我看看
  • fedora14 编译gnustep-base 出错,求教大侠解决办法
  • 我本来做一个很小的程序给大家玩的,测试你的鼠标点击速度,但编译时碰到了下面问题,望各位大侠解答
  • 各位大侠,那有JBuilder书down? 那有PDF格式文件的阅读器?
  • 哪位大侠能够推荐一下处理jpeg文件的程序,最好有源代码!!
  • 那位大侠有"ourhdr.h"文件?
  • 哪位大侠有unix/linux的函数和函数所在的文件
  • 各位大侠:我FTP到UnixWare服务器后,PUT本地的文件很快,到GET巨慢,why???
  • 关于manifest.tmp文件(大侠帮忙!)
  • 哪位大侠能提供简体中文字体文件,谢谢
  • 哪位大侠知道Redhat9.0上所能操作的最大文件的大小为多少?
  • 那位大侠解释一下/proc/net/dev这个文件各个字段的含义!
  • 有谁会用linux里面的wget?有一个参数是-i 后面加上url地址文件,我不明白什么叫url地址文件,那位大侠告诉我?
  • 那位大侠知道 *.dia *.eps *.sda *.sgml文件用什么工具打开?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于linux2.6.x内核使用RPM 包的提问,100分,请大侠帮忙!!!!!!!!!!!
  • 那位大侠行行好,能不能告知那里提供《linux操作系统内核实习》的完整下载?
  • 大侠帮我看一下,内核的read_lock_failed错误。
  • 大侠帮忙!模块调试(非内核模块)
  • 哪位大侠知道Turbo Linux下用sysctl命令修改connect(...)的超时的内核参数是哪一个?
  • (100分求助)用内核线程对用户进程操作(大侠/虾们出手了)
  • 请问大侠: 2.4下应用程序(user space)传大量数据给内核模块(kernel space)的可选方法和最佳方法.
  • Redhat 7.1 升级内核至2.6.8出错,请大侠指点
  • **内核模块编程,请各位大侠帮忙
  • 修改了linux内核的tcp.c tcpsendmsg()函数 出现奔溃 求大侠帮助!!满屏幕的跑00000 元芳你怎么看????
  • 各位大侠,本人是新手上路,经理马上让做palm,我可是从0学起!有没有那位大侠给我介绍一点经验和好的技术论坛,谢了!
  • hotenM(CMP)大侠等EJB大侠进来!小问题请教!
  • 请教大侠,怎么选开发学习板?
  • 大侠请援手:有关动态连接库。
  • 写过BBS的大侠看过来!
  • 请各位大侠推荐两本Solaris的经典书籍?
  • 各位大侠,求助Linux下关机
  • 大侠们,我是新手,请教怎么判断串口是否有连接
  • 想各位大侠求教了,为什么我的jdbc驱动不支持absolute这个方法呢?
  • 数据恢复, 求大侠帮助, 急等!!!!!!!
  • 各位大侠,给点意见
  • JSP+数据库文本存取中的换行问题,请教大侠
  • 各位大侠:lock 命令怎么用?
  • 关于session方面的问题!哪位大侠帮帮忙!?
  • 各位大侠,还有一问题请教,如下:
  • 请“路人甲”大侠进来来看看。。。多谢了。。
  • 请各位大侠介绍几本 UNIX 的书籍
  • solaris,请大侠帮忙!
  • 哪位大侠能提供一些Motif的电子书?
  • 后退+前进=重复提交,各位大侠怎么解决呢?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3