由来:编译ros工程文件,Windows运行git clone下载gitee上的代码到Windows,然后再从Windows拖拽到虚拟机进行编译,就报这个错误。
原因:由于Windows和Linux的换行方式不同,源代码本身是在Linux上编译并上传的,当你下载到Windows上之后,win系统会强制把Linux下文件的换行方式改变成CRLF的格式。
一、LF 和 CRLF 是什么?
CRLF:回车换行。
LF:换行。
它们都是文本换行的方式。
二、LF 和 CRLF 区别:
CRLF:"\r\n",windows 系统环境下的换行方式。
LF:"\n",Linux 系统环境下的换行方式。
对比可见CRLF比LF多了一个 " \r ",这就是编译错误的真正原因。
所以,以后可要注意,在Linux平台编译的代码,直接git到Linux平台即可,不要再用Windows过渡了,极易出错。
参考:/usr/bin/env: "python\r": 没有那个文件或目录 - wind_under_the_wing - 博客园