2013-03-10 67 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」。

通過靜態鏈接來了解許可證的問題:(