xdwjack 发表于 2003-5-16 23:47:12

改写内核,编译时出错!

我用的是在打了lsm包的内核基础之上做的修改

在linux-2.4.20/security/dummy.c中,我在某个函数中调用了printa();
在该文件中包含了文件a.h,我把这个头文件放到了linux-2.4.20/include/linux/下面
所以我的语句是#include <linux/a.h>

a.h的内容是
void printa(void);

a.c 在linux-2.4.20/security/mpxh/中内容是
#include <linux/a.h>

void printa(void)
{
   printk("This is a\n");
}

在编译内核的时候出现提示错误
undefined reference to'printa'

如果我把printa函数的实现写入到a.h中,就不会出现错误提示

我想这说明系统不能找到a.c文件造成的

我想问,通过什么方法可以让系统可以找到a.c文件呢?

Dragonfly 发表于 2003-5-16 23:49:25

write a makefile under linux-2.4.20/security/mpxh/, generate a.o file and link to kernel.
页: [1]
查看完整版本: 改写内核,编译时出错!