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? 

これは私が行く方法です。-static t "configure" を追加して QT を再構築する必要があり、展開に関してそれほど問題はありません。ところで:時間を節約したい場合は、「-nomake demos -nomake examples」スイッチを使用してください。

静的にリンクすることによるライセンスの問題に注意してください:(

于 2013-03-10T13:14:07.393 に答える