makefile老是报“recipe for target xxx”错误,不妨先看看编码有空格

makefile老是报“recipe for target xxx”错误,不妨先看看编码是否正确

2015年11月06日 15:49:50

阅读数:61306

编写内核模块,make出错。在排除了makefile语法错误,路径错误之后,依然显示“recipe for target xxx”的错误信息时,也许你该怀疑一下你makefile所用的编码了。(如果你的makefile是直接从网上复制来的,先在window下,用写字板看看是否有乱码吧,“空格”的乱码很有可能就是你错误的罪魁祸首)

---------以下是我的悲惨经历,写给大家,尤其是和我一样的新手,避免此类错误----------------

本来第一个内核模块的编写并不难,所有我照着网上的讲解做,写hello.c的源文件,写makefile(偷懒,直接从网上复制粘贴,然后它就给了我深刻的教训)。

Make编译不能通过,总提醒我“recipe for target xxx”和“没有匹配的文件路径”的问题。(其实是这两个错误的地方,都有问题“空格”)。

 

在网上找,有人说,Ubuntu没有源码,要先下源码下来make什么的,我照做(其实后来经过证明,不是这个的问题。当你能在你的Ubuntu系统发现有/lib/modules/XXX-generic/build这个路径,就可以为直接为你现在的Ubuntu编模块。之所以要下源码,是对那些版本不一样的人说的。比如你要给2.6的内核编模块,而你的Ubuntu内核是4.0,那没法,只能去下个2.6的内核源码。但我是为当前内核编译内核,没必要)。结果还是同样的错误信息。

 

抱着死马当活马医的心情,我在另外一个网页上复制了另一篇makefile,万幸这篇是成功的,要不然我都要放弃了。

 

综合两个makefile,我发现基本都是一样的内容。这时我才考虑到有可能是编码的问题,于是把两个文档复制到window下,用写字板查看。果然

有问题的makefile:

 没问题的makefile:

 坑爹的空格!!!把空格全部重新改了一遍,再到Ubuntu下运行,好了,行了。

 

转自:https://blog.csdn.net/bilifo/article/details/49684015

  • 21
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值