如何为linux机器创建Qt可执行文件

时间:2014-12-18 16:17:28

标签: c++ qt qt4 qt-creator qt5

我使用Qt 5.3创建了一个项目。我希望这个项目可以在其他Linux机器上执行,所以我采用了在项目的build文件夹中生成的可执行文件,并在另一台Linux机器上执行。当我这样做时,我收到以下错误:

./Project_name: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

我使用QT 5.3开发了应用程序,但是我试图执行它的linux机器有libqt4库。有没有办法让这个文件只能使用libqt4库执行。以下是我项目的.pro文件:

#-------------------------------------------------
#
# Project created by QtCreator 2014-12-08T09:19:31
#
#-------------------------------------------------

QT       += core gui


greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = Project_name
TEMPLATE = app
QMAKE_CXXFLAGS += -std=c++11

SOURCES += main.cpp\
        mainwindow.cpp \


INCLUDEPATH += /usr/include/python2.7/ 





HEADERS  += mainwindow.h 





FORMS    += mainwindow.ui 

我在网上查了一下,发现我们需要在“greaterThan(QT_MAJOR_VERSION,4):QT + =小部件”中进行更改,以便它适用于qt4库。我这样做但是没有用。那么你能让我知道可以做些什么,以便使用libqt5构建的项目也可以在具有libqt4的机器上执行。安装libqt5库可以完成,但我正在寻找其他方法。

2 个答案:

答案 0 :(得分:1)

  

是否有任何方法可以使用libqt4库

执行此文件

至少不容易......即使您创建了符号链接,Qt 4和Qt 5也不是二进制兼容的。

如果你想让它自成一体:

  • 静态捆绑库。

  • 使用动态符号加载,根据您找到的版本,您可能需要对代码进行编程以采取不同的行为。但这可能是一项很多工作。

答案 1 :(得分:0)

嘿,确保你的系统上安装了libqt5widgets并且你正在使用正确的qmake(在你的情况下是版本5x)你可以通过发出命令或通过Synaptic包管理器在debian发行版上安装它们

sudo apt-get install libqt5widgets5

enter image description here