2014-09-22 37 views
1

我已经能够创建一个依赖于Qt5.2.1中的webkit和脚本的应用程序。但是我能够为14.04版本的Ubuntu创建一个deb包。但是我怎样才能使它成为独立的应用程序。我见过静态的动态构建。我尝试了静态构建,但我不知道如何将静态构建包含在webkit中。也可以使用共享库方法创建独立应用程序。请在此处帮助我。如何为所有unix版本创建qt应用程序?

+0

这几乎总是丢失因为1.它是不可支持的。 2.它没有利用平台库中可能存在的任何平台特定的调整。您应该定义您支持的分发版本,并仅为这些分发版本构建,以提供本地软件包。 – 2014-09-22 09:50:11

回答

0

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

您应该沿着可执行文件的发布版本放置Qt文件。这些是libQtCore.so,libQtGui.so,可能还有其他您已使用的模块。这些文件位于lib文件夹中的已安装Qt目录中或目录/usr/lib/i386-linux-gnu中。如果你使用的是插件,你应该把它们的文件放在一个名为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\'" 
} 
+0

我在文件夹名称依赖项中添加了共享库依赖项,并将其添加为当前工作目录中的QMAKE_LFLAGS_RPATH = dependecy/.pro文件,例如app-1.0。但生成可执行文件并检查它仍指向系统路径像usr/lib ro usr/inc如何从当前工作目录app-1.0中指出它 – Dev 2014-09-22 07:30:38

相关问题