我使用Qt开发了用于图形界面的C ++应用程序,现在我想针对Linux和Windows发行它。
我一直在浏览文档,论坛和教程,但我真的不明白需要做什么...
我对使用的不同术语感到很困惑:发布和部署之间有什么区别?您何时需要安装程序,以及在需要时如何创建安装程序?
创建Windows .exe的不同步骤是什么?及其等效于不同版本的Linux(Debian,Ubuntu,Ubuntu Mate)?
我目前在Ubuntu上,并使用Qt Creator对该应用程序进行编码。
据我所知,我需要部署共享库。
任何对初学者的帮助,解答,指南或文档都将提供很大的帮助,非常欢迎:)
最佳答案
有几种方法可以部署您的应用程序
1.使用windeployqt / linuxdeployqt部署应用程序
这是最简单的方法,windeployqt或linuxdeployqt是将所有必需的依赖项都复制到可执行文件夹的应用程序。准备在另一台计算机上运行。
步骤很简单:
在发布模式下编译二进制文件
打开Qt开发人员控制台,然后键入windeployqt“ C:\ folder \ of \ your \ executable”(linuxdeployqt将非常相似)
在另一台计算机上运行该应用程序所需的所有库都将复制到您的应用程序文件夹中。您可以创建档案并将其发送给其他人。
注意:linuxdeployqt是第三方。
2.静态构建
静态构建最后将是一个包含所有Qt代码的单个二进制文件。您可以将单个二进制文件运送给某人,无需其他库即可运行它。由于所有Qt代码都链接在可执行文件内部,因此可执行文件更大。
步骤如下:
下载Qt source code
解压缩到文件夹
打开已安装的编译器(即MingW或MSVC)的开发者控制台。
切换到文件夹并输入./configure -static -static-runtime
完成配置后,键入nmake
或make
静态构建Qt。
构建过程完成后,在Qt Creator中创建一个新工具包,然后从源代码文件夹中选择新的qmake.exe
或qmake
。
在项目设置中选择套件,以构建不需要其他库的静态可执行文件。
3.离线/在线安装程序
此步骤需要一些阅读和微调。 Qt带有IFW(安装程序框架),您可以在其中创建在线和离线安装程序。安装程序将包含可执行文件和所有依赖项的.7z
文件。该安装程序使用户更舒适。它可以创建快捷方式,检查可用磁盘空间等。
IIRC您需要为MSVC静态构建安装程序,或者必须附带运行时库。如果使用MingW构建,则可能不需要任何运行时库。
由您决定选择哪种方法。如果您拥有商业许可证,则可以将所有封闭源作为静态版本发布,但是通常最好将其作为动态版本发布,尤其是在使用OpenSSL的情况下,用户可以根据需要快速交换易受攻击的库。
关于c++ - 如何在Linux和Windows上发布Qt/C++应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49982419/