错误描述
在学习Linux驱动的时候,编写完一个demo,执行make的时候,报了如标题所示的错误。使用的makefile如下:
KERNELDIR ?= /lib/modules/`uname -r`/build
hello_world-objs := hello.o
obj-m := hello_world.o
all:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules;
clean:
$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) clean;
rm -f *.ko;
解决方法
存放源代码的文件夹的文件名中存在空格,把空格去掉就可以了(很奇怪,深层的原因暂时还不知道)。
网上还有同学说要安装binutils,对于这次这个问题,我没有安装这个包(可能以前安装过),仅仅是去掉文件名中的空格,就可以了。
本文介绍了一种在Linux环境下编译驱动程序时遇到的make编译错误及其解决方法。错误源于源代码文件夹名称中包含空格,通过去除空格即可解决问题,避免了重新安装binutils的需要。
2399

被折叠的 条评论
为什么被折叠?



