如何为所有unix版本创建qt应用程序?

时间:2014-09-22 05:44:00

标签: qt build static qt5

我已经能够创建一个依赖于Qt5.2.1中的webkit和脚本的应用程序。但是我能够为14.04版本的Ubuntu创建一个deb软件包。但是我怎么能把它作为独立的应用程序。我看过静态和动态构建。我尝试过静态构建,但我不知道如何将webkit包含在静态构建中。也可以使用共享库方法创建一个独立的应用程序。请在这里帮助我..

1 个答案:

答案 0 :(得分:0)

部署动态链接的Qt应用程序:

您应该将Qt文件放在可执行文件的发行版本中。这些是libQtCore.solibQtGui.so,可能还有您使用过的其他模块。这些文件位于lib文件夹或目录/usr/lib/i386-linux-gnu中已安装的Qt目录中。如果您使用插件,则应将其so文件放在二进制文件旁边名为plugins的文件夹中。如果您使用图标和图片,则应将libqico.solibqsvg.so等文件发送到名为imageformats的文件夹中。

收集所需的共享库:

如果您希望应用程序在裸安装的Linux上独立运行,则应收集所有相关的共享库并将它们放在应用程序目录中。您可以通过名为cpld的shell脚本来执行此操作。您可以轻松地将所有依赖项复制到文件夹中。

值得注意的是,您可以将它放在.pro文件中,以使动态链接器在Linux运行时与Qt应用程序在同一目录中查找:

unix:{
    # suppress the default RPATH if you wish
    QMAKE_LFLAGS_RPATH=
    # add your own with quoting gyrations to make sure $ORIGIN gets to the command line unexpanded
    QMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN\'"
}