嵌入式Linux学习笔记(1)——Makefile中使用换行符“\”的注意事项

        今天笔者如往常一样进行嵌入式Linux的学习。当写好所有代码后,笔者满心欢喜地将工程发送到Ubuntu上,并使用make命令编译工程,但是突然一个莫名其妙的报错让笔者的快乐一下就结束了。

Makefile:22:*** 配方在第一个目标前开始。停止。

        产生报错的Makefile文件第22行是这样的:

        笔者一下就被这不知所谓的报错的搞懵了,因为从语法上来讲,似乎并没有错误。笔者起初以为是因为前面的led中调用了delay函数,所以才出现了“ 配方在第一个目标前开始”的报错,但笔者在将bsp\delay\放在bsp\led\前再编译,依然出现了同样的报错,且报错的行数又变成另一行。再经过反复尝试均失败后,笔者认为此报错与顺序没有关系。

        为了证实报错与顺序确实没有关系,笔者将这两段代码删了又重新输入了一遍,再次编译后竟然编译通过了。这说明此报错与顺序并没有关系。

        在反复检查这两段代码后,笔者发现有几行的“\”与其他的不一样。12,13,14以及22,23这些行的“\”是白色的,其他行都是黄色的。且出现报错的都是“\”为白色的那几行。

        将这几行拉黑后,笔者发现这些白色的\后都有一个小箭头。

        这说明这几个\变白色的原因正是因为其后面多输入了一个Tab。删除这些Tab之后再进行编译,结果是顺利通过编译。为了进一步验证,笔者又尝试在\后输入空格,字符等内容,结果都出现了上述报错。

        综上分析,在编辑Makefile脚本时,如果要用换行符\,切记一定不要在其后面加任何东西!包括Tab和空格!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
很高兴回答你关于野火嵌入式Linux学习的问题!以下是一些学习笔记的建议: 1. 了解嵌入式系统:首先,你需要了解嵌入式系统是什么以及它们与桌面操作系统的区别。嵌入式系统通常用于特定的应用领域,例如智能家居、汽车电子和工业控制等。 2. 学习Linux基础知识:野火嵌入式Linux是基于Linux内核的操作系统,所以你需要掌握Linux的基础知识,包括文件系统、进程管理、设备驱动程序等。 3. 硬件平台了解:野火嵌入式Linux有不同的硬件平台,例如野火开发板。你需要学习如何操作和配置这些硬件平台,并了解它们的特性和限制。 4. 交叉编译环境设置:为了在PC上开发嵌入式系统,你需要设置一个交叉编译环境,以便能够编译和调试嵌入式应用程序。这涉及到安装和配置交叉编译工具链。 5. 内核定制和驱动程序开发:学习如何定制Linux内核以满足特定需求,并开发设备驱动程序以支持外部硬件。 6. 应用程序开发:掌握嵌入式应用程序的开发技术,包括使用C/C++语言、Makefile和调试工具。 7. 调试和故障排除:学会使用调试工具和技术来定位和解决嵌入式系统的问题。 8. 实际项目经验:通过参与实际的嵌入式项目或完成一些小型项目来应用你的知识和技能。 这些只是一些学习笔记的建议,野火嵌入式Linux学习需要不断的实践和探索。希望这些对你有帮助!如果你有任何进一步的问题,欢迎继续提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值