最近由于项目需要,得把原来的产品升级为Qt5(之前用的都是Qt4),所以学习了一下Qt5。在windows平台下安装qtcreator时很顺利,但是在ubuntu下安装时遇到了问题。
具体表现是在Qt官网https://download.qt.io/下载了Qt5的安装包qt-opensource-linux-x64-5.9.0.run后,在ubuntu里面执行命令./qt-opensource-linux-x64-5.9.0.run安装时报错:cannot execute binary file,如下图所示。即使通过命令chmod 777修改了qt-opensource-linux-x64-5.9.0.run的权限后,运行时仍然报这个错误。
之后通过命令uname --m发现当前ubuntu系统是32位系统,而下载的Qt安装包是64位的(x64即表示64位软件的意思),所以该ubuntu系统无法运行这个软件。
解决方法有两种:第一种是在官网下载安装32位的Linux安装包,比如qt-opensource-linux-x86-5.5.1.run,下载地址是https://download.qt.io/archive/qt/5.5/5.5.1/(不推荐这种方法,因为Qt5.5之后的Linux安装包都只有64位的了)。另外一种方法是重新安装64位的ubuntu系统。(推荐这种做法)
总结一下,引用另一位博主的一段话:linux系统下遇到cannot execute binary file的问题,一般由以下情况造成:1. 非root用户或者无执行权限;2. 编译环境不同(程序由其他操作环境复制过来); 对于第一种情况,采用增加执行权限即可chmod +x program。对于第二种情况,建议将该程序二进制包拷贝过来,重新编译程序。3. 硬件平台与软件不一致 , 例如: 32位系统,下载了个64位的软件,结果就无法执行,如果使用 file 命令检查的结果是 data, 而不是可执行文件, 那么在这个系统平台上不能直接运行这个文件。