如何在未安装Qt的系统上运行Qt应用程序?

时间:2014-02-13 15:09:37

标签: qt deployment fedora qtwebkit

我使用QtWebKit,Qt4制作了一个应用程序。我有在Fedora 16中生成的二进制文件。现在,我想在另一台PC上运行该应用程序(运行其他一些Fedora版本),其中没有安装Qt。如何打包我的Qt应用程序,以便它可以在没有安装Qt的平台上运行?是否有任何命令行实用程序以及QtCreator实用程序。我尝试过“部署所有”命令,但它没有任何影响。

4 个答案:

答案 0 :(得分:1)

使用Qt安装程序框架创建安装程序,只提供所有需要的共享库(Win / OSX)或静态编译。在Linux下,系统范围的库或捆绑的库之间总是存在问题。文档https://qt-project.org/doc/qt-5.0/qtdoc/deployment.html应该为您提供一个良好的开端

答案 1 :(得分:0)

显然,您需要访问qt库,这些库与您用于编译应用程序的版本完全相同。

有两种选择:

  • 静态链接qt库
  • 创建一个RPM包(请参阅this how)

同时检查Deploying Qt Applications

答案 2 :(得分:0)

由于您正在使用rpm部署到Qt 4 rpms可用的系统,除了简单地将qt的依赖项添加到rpm的specfile之外,您不需要做任何事情。使用yum localinstall安装程序包的用户将自动安装Qt依赖项。这是正确的做法 - 它会使你的包装尺寸变小。

当然,你需要为每个fedora / centos主要版本提供单独的rpm版本,但这几乎总是要求。

如果您的软件包需要比平台软件包提供的版本更新的Qt版本,您仍然可以创建特定的版本依赖项(比如qt> = 4.7.0)并且有一个自述文件,表明可以从第三方存储库(epel等)

答案 3 :(得分:0)

对于Linux下的部署,我使用了Bitrock Installer Tool

部署之前的主要任务是检查您的依赖项。您可以使用命令来执行此操作:

  

ldd appName | grep libQt

之后,您将看到依赖项列表。您必须设置环境变量LD_LIBRARY_PATH以让链接器知道您的库在哪里。要做到这一点:

export LD_LIBRARY_PATH=.

。表示当前目录

之后:

./appName $*

之后,您将能够使用Bitrock Installer Tool使用您的可执行文件。