我想将一个.c
文件编译成一个.o
文件,以便在稍后的单独阶段我可以将它与其他文件链接以生成一个可加载的模块(.ko
文件)。
我尝试遵循 Kbuilds 文档(此处为 2.4 ),但没有成功:
obj-m: myfile.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$PWD/ myfile.o
输出是:
$ make
cc -c -o myfile.o myfile.c
myfile.c:42:26: fatal error: linux/printk.h: No such file or directory
#include <linux/printk.h>
^
compilation terminated.
<builtin>: recipe for target 'myfile.o' failed
make: *** [myfile.o] Error 1