2013-03-10 42 views
1

我想要在其他Linux系统上部署Linux Qt 5应用程序。我正在使用VirtualBox机器进行开发和测试(均为32位)。我的应用程序在开发人员机器上依赖运行,但不在非开发人员测试机器上(未安装Qt 5)。我有一个脚本来标识使用ldd命令识别的依赖关系。有没有任何依赖没有列出的ldd命令?我试图动态链接依赖关系。那可能吗?还是必须使用静态选项从源代码进行配置和构建?任何帮助,将不胜感激。谢谢。Qt5 - Linux应用程序部署 - 您可以动态使用依赖关系吗?

下面是我使用的脚本:

#!/bin/sh 

    if [ `getconf LONG_BIT` = "64" ] 
    then 
     LIBS=./data/libs_64 
     BIN=./data/bin/Lottery_64 
    else 
     LIBS=./data/libs_32 
     BIN=./data/bin/Lottery_32 
    fi 

    # Run your app 
    export LD_LIBRARY_PATH=$LIBS:"$LD_LIBRARY_PATH" 
    $BIN [email protected] 

的依赖是libs_32。我在二进制目录中有平台文件夹。我需要其他插件吗?

下面是我使用的依赖关系:

linux-gate.so.1 
libQt5Widgets.so.5 
libQt5Gui.so.5 
libQt5Core.so.5 
libstdc++.so.6 
libgcc_s.so.1 
libc.so.6 
libpthread.so.0 
libgobject-2.0.so.0 
libglib-2.0.so.0 
libX11.so.6 
libm.so.6 
libGL.so.1 
libicui18n.so.49 
libicuuc.so.49 
libdl.so.2 
libgthread-2.0.so.0 
librt.so.1 
/lib/ld-linux.so.2 
libffi.so.6 
libpcre.so.3 
libxcb.so.1 
libglapi.so.0 
libXext.so.6 
libXdamage.so.1 
libXfixes.so.3 
libX11-xcb.so.1 
libxcb-glx.so.0 
libXxf86vm.so.1 
libdrm.so.2 
libicudata.so.49 
libXau.so.6 
libXdmcp.so.6 

是否有我丢失任何依赖关系?

回答

0
>Or do I have to configure and build from the source code with the static option? 

这是我会走的路。您需要重新构建您的QT添加-static t“configure”,并且您没有太多的部署问题。 顺便说一句:如果你想节省时间使用开关“-nomake demos -nomake examples”。

通过静态链接来了解许可证的问题:(

相关问题