我一直在尝试在Linux上使用kbuild(Ubuntu 16.04)和Makefile来创建一个.so文件(这样做是必要的,因为我包含了内核头文件)。到目前为止,我只能用kbuild生成.o文件。目标是获得一个我可以使用dlopen和dlsym运行的.so文件。这是我当前的Makefile(归功于https://stackoverflow.com/a/8062816/9905566)。
EXTRA_CFLAGS := -I/usr/include -I/usr/include/x86_64-linux-gnu
ifneq ($(KERNELRELEASE),)
obj-m := placeholder.o
else
KDIR ?= /lib/modules/`uname -r`/build
default:
$(MAKE) -C $(KDIR) M=$$PWD
endif
感谢任何帮助!