如何在客户系统上安装Qt应用程序?

16
我有一个Qt应用程序需要安装到客户的计算机上,但我不能假设该计算机已经安装了Qt。我使用的是Mac OSX,而要安装的计算机是一些基于Unix的系统。我将自己进行安装,因此不需要GUI安装向导或类似的东西。理想情况下,我希望最终得到一个脚本或makefile,以及一个包含所有源代码和必要库的文件夹,但我不知道从哪里开始。如果能提供参考资料,我将不胜感激,因为在多次谷歌搜索后,我没有找到任何有用的信息。
我的问题介于以下两个问题之间:
你能在qt中创建一个setup.exe来安装你的应用程序到客户计算机上吗?
为Qt应用程序创建Linux安装程序? 我不需要完整的安装向导(问题1),但我也无法在安装现场使用我的计算机来复制库,直到满足所有依赖关系(问题2)。基本上,当我到达时,我需要准备好安装CD上的所有内容。非常感谢您的帮助。
2个回答

18

安装Qt应用程序有两种方法:

1 - 静态编译Qt。这将允许您在没有任何Qt依赖项的情况下部署您的应用程序。

2 - 您需要使用所需的Qt库文件(例如Windows上的qtcore.dll)部署您的应用程序。

您可以在Qt文档中找到每个平台的所有说明:http://qt-project.org/doc/qt-4.8/deployment.html

要创建安装程序,您可以在Windows和Unix上使用InstallJammer

对于MacOSX,您需要创建一个dmg映像。这很简单。阅读以下网页以获取帮助:http://www.wikihow.com/Make-a-DMG-File-on-a-Mac。通过使用Apple脚本,您可以自定义dmg(例如,在dmg中添加应用程序文件夹链接)。

我喜欢Win32安装程序的NSIS:NSIS

希望以上内容能对您有所帮助!


如果我静态编译Qt,那么我不需要在客户计算机上进行与其完全相同的系统/架构编译吗?有没有办法避免必须在他们的系统上编译源代码? - Graphics Noob
您需要在每个系统上编译Qt,以便使用静态或动态库来支持您的应用程序。两种方式都是相同的(除了如果您安装整个框架,则动态库已经编译好)。 - Patrice Bernassola
3
同时需要注意的是,你不能在LGPL许可证下分发一个闭源、静态编译的Qt应用程序。 - Graphics Noob
我是否需要为所有客户端的架构/系统编译我的Qt应用程序? - abhiarora
@abhiaroa,是的,您需要为每个架构/系统编译QT应用程序。QT使用C++语言,它是一种编译语言,并提供系统相关的二进制文件。 - Patrice Bernassola

0

不确定为什么您想要避免安装向导。它还可以帮助您创建卸载程序、桌面和开始菜单快捷方式等。如您所提到的帖子中所述,您可以使用BitRock InstallBuilder(Nokia用于Qt Creator)

如果您不想使用向导并且不想静态编译,则可以将Qt库捆绑在与应用程序相同的文件夹中,并设置一个shell脚本,将LD_LIBRARY_PATH设置为该目录


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接