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
相关推荐
大胖丫15 分钟前
vue 学习-vite api.js
开发语言·前端·javascript
遇见很ok16 分钟前
js中 ES6 新特性详解
开发语言·javascript·es6
没有晚不了安24 分钟前
1.13作业
开发语言·python
布谷歌28 分钟前
Oops! 更改field的数据类型,影响到rabbitmq消费了...(有关于Java序列化)
java·开发语言·分布式·rabbitmq·java-rabbitmq
被程序耽误的胡先生34 分钟前
java中 kafka简单应用
java·开发语言·kafka
刀客12334 分钟前
python小项目编程-中级(1、图像处理)
开发语言·图像处理·python
卷卷的小趴菜学编程39 分钟前
c++之多态
c语言·开发语言·c++·面试·visual studio code
冷琴19961 小时前
基于Python+Vue开发的反诈视频宣传管理系统源代码
开发语言·vue.js·python
楠枬1 小时前
网页五子棋——对战后端
java·开发语言·spring boot·websocket·spring
kyle~1 小时前
thread---基本使用和常见错误
开发语言·c++·算法