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
相关推荐
Howrun77716 小时前
虚幻引擎_AController_APlayerController_AAIController
开发语言·c++·游戏引擎·虚幻
曹牧16 小时前
C#:ToDouble
开发语言·c#
袁袁袁袁满16 小时前
Python读取doc文件打印内容
开发语言·python·python读取doc文件
zcfeng53016 小时前
PHP升级
开发语言·php
m0_7482523816 小时前
Ruby 模块(Module)的基本概念
开发语言·python·ruby
羊小猪~~16 小时前
【QT】-- QT基础类
开发语言·c++·后端·stm32·单片机·qt
木卫二号Coding16 小时前
Python-文件拷贝+文件重命名+shutil+记录
开发语言·python
bubiyoushang88817 小时前
基于Q-learning的路径规划MATLAB仿真程序实现
开发语言·matlab
FAFU_kyp17 小时前
Rust 结构体(struct)
开发语言·后端·rust
努力写代码的熊大17 小时前
深入探索C++关联容器:Set、Map、Multiset与Multimap的终极指南及底层实现剖析
开发语言·c++