Qt版本应该在其他计算机上运行吗?
Should Qt builds run on other computers?
我在 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的安全更新并将其应用于您正在发布的版本,那么发布自己的版本将对您的用户造成伤害,您应该依赖发行版版本。
相关文章:
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 代码在main()中运行,但在函数中出现错误
- 在另一台计算机中运行 GTKMM 代码时未定义的符号
- 在计算机级别,应用程序以二进制方式运行,然后当发生运行时错误时,它如何呈现回错误代码
- 这是否有意义,我的计算机只能并行运行4个线程
- 致命错误LNK1112:通过 vcvarsall .bat x86 运行构建'X86'模块计算机类型'x64'与目标计算机类型冲突
- Visual C 程序不在其他计算机中运行
- 构建计算机上的C++运行时版本与客户计算机
- 从另一台计算机运行opencv可执行文件
- 作为服务运行时连接到远程计算机的 WMI
- 有什么好方法可以指示计算机是否可以运行特定的程序/软件
- 在云计算机〔Azure〕上运行OpenCV代码
- 两台计算机必须有什么共同点才能运行相同的可执行文件
- 如何在另一台计算机(linux)上使用OpenCV运行c++库
- 我的应用程序"Qt"在我的计算机中运行,但在我朋友的计算机上无法运行
- 计算机视觉-在TensorFlow上运行C++inception-v3时出现非法指令错误
- 是否可以在多核计算机的单核上运行多线程应用程序
- 我的程序不能运行与计算机没有VS MSCR100D.dll丢失