Qt版本应该在其他计算机上运行吗?

Should Qt builds run on other computers?

本文关键字:运行 计算机 其他 版本 Qt      更新时间:2023-10-16

我在 Debian 10 32 位上基于 Qt 5.12 制作了一个桌面应用程序。因为Qt 5.12无法通过apt-get获得(我需要5.12中引入的2D图表功能(,所以我从源代码编译了Qt。

该应用程序应该在另一台计算机上运行,也是 Debian 10 32 位。所以我从开发机器上复制了所需的Qt依赖项。它工作正常。

这种方法是否合适,或者Qt应该在每台计算机上编译,因为硬件规格并不相同?

Qt与其他共享库一样,不需要在每台计算机上编译。 可以在一台机器上编译,然后部署到其他机器上;这就是像 Debian 这样的发行版所做的。

但是,话虽如此,如果要将应用程序部署到多台计算机,则需要执行更多的打包,而不仅仅是复制库。 通常用户将软件构建到操作系统软件包中(因此是 Debian 的.deb文件(并以这种方式分发。 您还需要验证库是否以通用方式构建(例如,没有-march=native(,否则您的程序将在与编译它的机器具有不同硬件的系统上崩溃或性能不佳。

除非你绝对需要Qt 5.12,并且离不开这个新版本中的功能,否则你可能会发现,在Debian 10中使用Qt 5.11软件包,你的生活得到了极大的简化。 您通常会发现,您的用户也会喜欢不必安装完全不同的Qt版本,并且您会喜欢不必处理通常不维护的库的安全更新。 如果您不打算主动监控Qt的安全更新并将其应用于您正在发布的版本,那么发布自己的版本将对您的用户造成伤害,您应该依赖发行版版本。