运行 脚本使用类似 Qt Creator 的环境

Run script using Qt Creator like environment

我尝试 运行 使用 KDE Neon 的部署脚本。我已经从 bash 手动启动脚本,但出现错误 qmake would not found。

当直接从 bash 尝试 运行 qmake 时,出现以下错误:

$ qmake -v
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory

bin 文件夹几乎是空的,不包含任何 qmake。在路径 /usr/lib/x86_64-linux-gnu/qt5/bin/ 中可以找到完整的 Qt 安装,但也没有 qmake。 /usr/bin/qmake 显然是一个 link 指向缺失的 /usr/lib/x86_64-linux-gnu/qt4/bin/qmake.

qmake 在使用 Qt Creator 时工作正常。 Qt Creator 使用的二进制文件是 /home/<user>/Qt/5.10.0/gcc_64/bin/qmake.

显然 /usr/... Qt 安装尚未完成。首先我想到了如何完成安装以及如何从 Qt4 切换到 Qt5。然而,Qt Creator 显然能够使用它自己的 /home/... 定位的 Qt 环境,我也想在 运行 在 Qt Creator 之外使用脚本时使用它。

有没有一种方法可以使用与 Qt Creator 相同的 Qt 环境(无需修改 OS 配置)从 bash 启动脚本?

QtCreator 本身只修改环境,即它设置

export PATH="/home/<user>/Qt/5.10.0/gcc_64/bin:$PATH"
export QTDIR="/home/<user>/Qt/5.10.0/gcc_64"

这可以通过检查 "Projects" 选项卡中的 "Build Environment" 部分来验证。在检查 运行 配置的环境时,编译的应用程序还需要一个才能找到正确的 .so 文件(构建环境用于 运行 构建工具。 运行 环境用于运行 已编译的应用程序)。

export LD_LIBRARY_PATH="/home/<user>/Qt/5.10.0/gcc_64/lib:$LD_LIBRARY_PATH"

因此,为了从命令行轻松使用 qmake/...,只需创建一个脚本来设置这些(以及您在 QtCreator 中为您的构建定义的其他可能)并在编译之前获取它,它应该可以工作。

source ~/qt-home-init.sh
qmake ...