在某些Makefile中看到了 obj-m := test.o module-objs := test.o 请问module-objs := test.o什么作用

有obj-m := test.o不是就可以编译成模块了么
2025-05-01 01:19:43
推荐回答(1个)
回答1:

声明:我的回答不一定正确。
obj-m := test.o是指定模块名称是test.ko。如果只是由test.o,来编译成test.ko,那后面的module-objs := test.o最好省略(我觉得你这2句话写一起,估计编译会出错)。
但是有时候,test.ko是由test.o file1.o file2.o这样多个.o文件编译成test.ko模块,那需要:
obj-m := test.o
module-objs := file1.o file2.o test_main.o(注意,这里不要用test.o)
所以module-objs 用在多.o文件编译的时候。