在 Ubuntu 上运行 Qt 创建的可执行文件时出错

Posted

技术标签:

【中文标题】在 Ubuntu 上运行 Qt 创建的可执行文件时出错【英文标题】:Error in running Qt created executable on Ubuntu 【发布时间】:2013-10-28 08:32:50 【问题描述】:

我编写了一个代码,该代码在安装了 Qt 的 ubuntu 机器上成功运行,但是当我尝试在另一台没有 Qt 的 ubuntu 机器上运行可执行文件时,我收到此错误:

error while loading shared libraries: libQt5Widgets.so.5

【问题讨论】:

快速解决方法是:sudo apt-get install libqt5gui5。根据使用的功能,您需要安装other packages。或者通过安装libqt5-dev包来安装全部。 【参考方案1】:

由于您有一个共享构建,因此您需要系统上所需的共享 Qt 库。

或者,如果您想构建一个独立的可执行文件,那么您必须静态编译它。

以下链接可能会有所帮助: How to make binary distribution of Qt application for Linux

【讨论】:

将共享库放在包含二进制文件的同一文件夹中仅适用于 Windows,不适用于 Linux【参考方案2】:

很明显,所需的 Qt 库没有安装在另一台机器上,您需要先安装 Qt 库。

在 Linux 上遵循的标准程序是创建一个包(Debian、rpm、pacman 等)。由于您使用的是 Ubuntu,因此您应该创建一个 Debian 包,其中提到 libqt5gui5 作为依赖项,所以当您安装包时,Qt如有必要,库会自动下载和安装。

【讨论】:

以上是关于在 Ubuntu 上运行 Qt 创建的可执行文件时出错的主要内容,如果未能解决你的问题,请参考以下文章

Windows上发布Qt的可执行程序

在运行模式下启用 Qt Creator 创建核心文件?

运行从 Ubuntu 到 Debian 的可执行文件

Qt 编译好的 可执行文件 不能运行是怎么回事?

Ubuntu Qt 交叉编译(树莓派2b)

QT中同一个程序的可执行程序只能运行一个,如何实现?