bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory

问题背景:

在linux上编译Qt时,遇到这个问题

"bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory"

问题原因:

Qt的configure文件是在windows上写的,现在是在ubuntu上进行编译。而linux和windows在换行符上存在差别。在windows下编写代码时,每行后面会加个ctrl+m,就是^M。所以,当在ubuntu中运行configure脚本时,当运行到里面的sh命令行,把"sh"就识别成了"sh^M",导致无法执行sh命令,所以脚本就不能运行了。

解决方式:

把configure文件中的"^M"去掉就可以了。

方法1:

安装:dos2unix

复制代码
sudo add-apt-repository universe
apt-get install dos2unix

输入命令:

复制代码
dos2unix configure 

把configure文件转化成linux编码格式。

方法2:

在没有dos2unix情况下

复制代码
cat ./configure.sh | tr -d '/r' > temp.sh
mv temp.sh configure.sh
相关推荐
朝朝辞暮i3 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
小师兄吃牛肉4 小时前
C语言篇:宏
c语言·开发语言
郑同学的笔记5 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
言乐65 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779135 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
kakakahahahaha5 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i5 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i6 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
笨笨饿6 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
YOLO数据集集合6 小时前
EvoAgent:面向PR研发治理的自进化Multi-Agent Harness系统
java·开发语言·目标检测·agent·自进化