我使用QtWebKit,Qt4制作了一个应用程序。我有在Fedora 16中生成的二进制文件。现在,我想在另一台PC上运行该应用程序(运行其他一些Fedora版本),其中没有安装Qt。如何打包我的Qt应用程序,以便它可以在没有安装Qt的平台上运行?是否有任何命令行实用程序以及QtCreator实用程序。我尝试过“部署所有”命令,但它没有任何影响。
答案 0 :(得分:1)
使用Qt安装程序框架创建安装程序,只提供所有需要的共享库(Win / OSX)或静态编译。在Linux下,系统范围的库或捆绑的库之间总是存在问题。文档https://qt-project.org/doc/qt-5.0/qtdoc/deployment.html应该为您提供一个良好的开端
答案 1 :(得分:0)
答案 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使用您的可执行文件。