用linuxdeployqt打包程序遇到qmake找不到的问题如何解决

问题描述:

如题所述,在打包过程中遇到如下问题:

ERROR: "/usr/bin/qmake -query" exited with 1 : "qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory\n"

sukaiwise@ubuntu:~/build-untitled1-Desktop_Qt_5_3_GCC_64bit-Debug$ linuxdeployqt untitled1 
linuxdeployqt 5 (commit 37631e5), build 631 built on 2019-01-25 22:47:58 UTC
Not using FHS-like mode
app-binary: "/home/sukaiwise/build-untitled1-Desktop_Qt_5_3_GCC_64bit-Debug/untitled1"
appDirPath: "/home/sukaiwise/build-untitled1-Desktop_Qt_5_3_GCC_64bit-Debug"
relativeBinPath: "untitled1"
ERROR: "/usr/bin/qmake -query" exited with 1 : "qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory\n"
ERROR: Qt path could not be determined from qmake on the $PATH
ERROR: Make sure you have the correct Qt on your $PATH
ERROR: You can check this with qmake -v


解决办法:

原因分析:操作系统找不到qmake,如果我们已经安装了qt,就可以通过设置环境变量的方式让操作系统找到它。

设置环境变量可分为设置全局环境变量和设置用户环境变量,本文只介绍后者,修改方式是修改用户目录下的.bashrc文件。在最后一行添加文本如下:

export PATH=/home/sukaiwise/Qt5.14.0/5.14.0/gcc_64/bin:$PATH

添加时要注意环境变量后的冒号。添加保存后新建一个终端输入echo $PATH就能看到添加后的环境变量。

此时再次在终端中运行qmake -v,就能找到相应的执行路径了:

sukaiwise@ubuntu:/usr/lib/x86_64-linux-gnu/qt-default/qtchooser$ qmake -v
QMake version 3.1
Using Qt version 5.14.0 in /home/sukaiwise/Qt5.14.0/5.14.0/gcc_64/lib

这时候用linuxdeployqt命令就可以顺利的打包了。

多说两句:

有时候上述错误并没有出现,但如果系统默认的qmake版本比较古老,发布过程中就会出现动态库找不到的情况,比如我用qt5.14编写的程序可能需要更高版本的qmake来支持,解决方法和上述一致。

你可能感兴趣的:(qt开发,linuxdeployqt)