【填坑指南】[GCC]GCC在windows下的makefile转为Linux下的makefile

本文介绍了在从Windows转移到Linux环境时遇到的编译问题,具体表现为使用GCC编译工程时报‘多个目标匹配’错误。问题根源在于Windows和Linux之间的文件格式差异,包括中间文件不被认可及换行符问题。解决方法包括删除Windows生成的文件,以及使用文本编辑器将文件从Windows格式转换为Unix格式。提供了解决此类问题的详细步骤,并附有参考资料链接。

这里写自定义目录标题

1 现象

在windows下使用GCC编译工程时,编译通过。使用同样的工程代码,放到Linux (Ubuntu)下编译报错。

报错信息如下:

Makefile:1: *** 多个目标匹配。 停止。
在这里插入图片描述

2 原因

1.widows下编译器编译的时候生成的.d 、.o等中间文件Linux下的编译器不认。
2. Windows下的makefile文件中的换行符为“\r\n”,即CRLF。在Linux系统下换行符实际应该为“\n”,即LF。
3. makefile中存在不符合makefile语法的语句,导致编译器无法识别。

3 解决方法

  1. 删除在Windows下编译生成的所有文件。
    例如,我删除的是_build整个文件夹。
    在这里插入图片描述
  2. 使用Notepad++等文本编辑器,将windows文件转为Unix文件。
    在这里插入图片描述
    转换前的效果如下:
    在这里插入图片描述

转换后的效果如下:
在这里插入图片描述

4 参考资料

https://www.cnblogs.com/zijin/p/3501912.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值