阅读:1716回复:5
请问LINUX驱动编译问题
是不是编译LINUX驱动的时候,系统中必须包含/usr/src/linux/include/***.h
如果我得系统中不包含这些内核头文件,那么编译得时候是不是报错,找不到内核函数得定义?? |
|
|
沙发#
发布于:2004-03-26 15:36
头文件的作用哪个地方不是一样的?
|
|
|
板凳#
发布于:2004-03-26 17:28
头文件的作用哪个地方不是一样的? 但是驱动程序里是这样写的#include <linux/module.h> #include <linux/kernel.h> 我的系统里根本不存在这些文件,那编译能通过?? |
|
|
地板#
发布于:2004-04-01 14:44
[quote]头文件的作用哪个地方不是一样的? 但是驱动程序里是这样写的#include <linux/module.h> #include <linux/kernel.h> 我的系统里根本不存在这些文件,那编译能通过?? [/quote] 不行啊,我的一个简单的驱动程序,有一大堆的错误,气晕我了!大部分都是头文件的错,在.../usr/include/linux/中的头文件,不知怎么办? |
|
地下室#
发布于:2004-04-02 11:10
gcc的编译选项加上-I/usr/src/linux2.4.xx/(源代码连接目录)/linux,
就OK,记得还要加上-DMODULE -D__KERNEL__ [编辑 - 4/2/04 by antspower] |
|
|
5楼#
发布于:2004-04-11 11:20
那是因为你在安装linux的时候没安装KERNEL源程序包.在第二张光盘里,包的名字是kernel-srcXXXXX.rpm,XXXX与版本名相对应,你找一下,然后用rpm -Uvh 包名就可以了.装好后还不能马上用,因为默认kernel目录为/usr/src/linux-2.4.X/,你必须ln -s一下或者改名为linux,这样就可以了.请问楼主是否编做过linux内核编程?内核编程的编译是很烦琐的事情,相信找不到头文件这事情只是个开端.不过别被困难吓倒了,呵呵.慢慢积累经验吧,用不了多久就会成高手的.
|
|