Q我在 Linux 上开发 Qt 程序,怎么快速确认系统里装的是哪个 Qt 版本?当我需要编译或部署 Qt 项目时,如何在 Linux 环境里准确查看当前可用的 Qt 版本信息?
A查看 Qt 版本的常用方法
可以通过命令行查看 Qt 版本信息。若系统已配置 qmake,可执行 qmake -v,输出中会包含 Qt 版本和安装路径。也可以运行 qtchooser -print-env 或查看 qmake 的实际路径来判断当前使用的是哪个 Qt。对于基于 Qt5 或 Qt6 的环境,pkg-config --modversion Qt5Core、pkg-config --modversion Qt6Core 也能直接显示对应版本。
Q我电脑里可能装了多个 Qt 版本,怎么知道当前编译时实际用的是哪一个?如果系统中同时存在 Qt5 和 Qt6,或者有多个安装目录,怎样确认项目构建时选中的 Qt 版本不是别的版本?
A确认当前构建使用的 Qt 版本
可以检查构建工具实际调用的 qmake、cmake 或环境变量。执行 which qmake 可以看到当前命中的 qmake 路径,再用 qmake -v 查看对应版本。若使用 CMake,可以查看 CMAKE_PREFIX_PATH、Qt6_DIR 或 Qt5_DIR 是否指向正确目录。对已经生成的工程,也可以从编译日志中确认链接的是哪个 Qt 库路径。
Q在不进入图形界面的情况下,怎样只用终端查看 Qt 的详细版本和安装位置?服务器或远程 Linux 环境没有桌面界面时,如何通过命令行获取 Qt 的版本号、安装目录和相关配置信息?
A通过终端获取 Qt 版本与安装信息
在纯终端环境中,可以使用 qmake -v 查看版本与安装目录,也可以使用 which qmake 或 readlink -f $(which qmake) 获取可执行文件位置。如果安装了 qtchooser,可以用 qtchooser -run-tool=qmake -qt=5 -v 这类方式查看指定版本。若想进一步确认库版本,也能检查 /usr/lib、/usr/local/Qt-* 等常见安装路径中的目录名称。
Q如果系统没有直接提供 qt 命令,我还能通过哪些方式判断 Qt 版本?有些 Linux 发行版中可能没有单独的 qt 查询命令,或者 qmake 没有加入 PATH,这种情况下如何确认 Qt 版本?
A没有 qt 命令时的替代查询方式
可以通过包管理器查询已安装的 Qt 包版本,例如在 Debian/Ubuntu 上使用 dpkg -l | grep qt,在 RHEL/CentOS/Fedora 上使用 rpm -qa | grep qt。如果是源码安装,也可以到 Qt 安装目录中查看 qt.conf、mkspecs 或 lib 目录名称。另一种方式是在项目里打印 qVersion(),运行后会直接返回当前链接的 Qt 运行时版本。