2

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

这是我正在使用的脚本:

    #!/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 $@

依赖项位于 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 

我缺少任何依赖项吗?

4

1 回答 1

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”。

通过静态链接注意许可证的问题:(

于 2013-03-10T13:14:07.393 回答