【问题标题】:Deployment of QT apps on linux在 linux 上部署 QT 应用
【发布时间】:2015-05-28 12:15:14
【问题描述】:

我在 ubuntu-14.04 操作系统中开发了 Qt 应用程序。我需要在不使用任何工具的情况下将可执行文件部署到目标系统中。 你能指导我如何进行吗?任何有关它的信息都会对我有用。等待您的回复..提前谢谢..

感谢和问候, 雅利安人

【问题讨论】:

  • 你看到这里了吗doc.qt.io/qt-5/linux-deployment.html?什么不适合你?
  • “不使用任何工具”是什么意思??
  • 在其他系统中使用所需的库和插件部署 exe 文件
  • 当我运行可执行文件时,我得到语法错误,因为单词意外(期望“)”)..
  • 你是说目标系统不是Ubuntu?在这种情况下,您需要为目标学习适当的包管理器。如果我们不知道目标是什么,那么您就不能期望得到具体的答案。

标签: qt ubuntu-14.04


【解决方案1】:

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

您应该将 Qt .so 文件放在可执行文件的发布版本中。这些是libQtCore.solibQtGui.so,也可能是您使用过的其他模块的那些。这些so 文件位于您安装的Qt 目录中的lib 文件夹或目录/usr/lib/i386-linux-gnu 中。如果您使用插件,您应该将它们的 so 文件放在二进制文件旁边名为 plugins 的文件夹中。如果使用图标和图像,您应该将它们的 so 文件(如 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\'"
}

【讨论】:

    【解决方案2】:

    我需要将可执行文件部署到目标系统而不使用 任何工具。

    这不太可能。我希望您实际上需要打包您的应用程序,以便可以使用标准的包管理系统(即dpkgapt-get 和朋友)安装它。

    阅读有关创建 Debian 软件包的信息,并在您努力后返回这里(或者,更有可能是 Linux&Unix stackexchange)。

    【讨论】:

    • 在其他系统中使用所需的库和插件部署 exe 文件
    猜你喜欢
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    相关资源
    最近更新 更多