[問題] Qt5 Ubuntu動態鏈結庫發佈配置問題

看板C_and_CPP (C/C++)作者 (超越自己)時間8年前 (2017/07/08 23:31), 8年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Ubuntu Linux 16.04 Qt5 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) GGC 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) No 問題(Question): 各位板友大家好, 我想請問Qt5於Ubuntu下發布檔案(含動態庫)至另一台沒有裝Qt庫的問題, 為了測試,我用Qt Creator建立了一個空白的QMainWindow專案, 直接進行編譯,於Qt Creator執行能成功,而於command line執行無法成功, 於是我參照官方文檔,建立.sh檔後執行.sh檔即可成功執行。 http://doc.qt.io/qt-5/linux-deployment.html (文檔中說明預設名platforms需於執行程序目錄的子目錄且包含libqxcb.so, 而.sh檔是直接拷貝官方內容,並置於執行程序同層級目錄。) 但將執行目錄中的檔案打包至另一台虛擬機的Ubuntu中, (於打包前有用ldd查詢程序所需動態庫,並複製至執行目錄的子目錄lib下) 執行.sh檔卻出現了.. "it could not find or load the qt platform plugin xcb in" 類似的訊息,用ldd查詢執行檔,所有所需的動態庫皆可於執行目錄的子目錄找到, (有於.pro檔設定rpath:QMAKE_LFLAGS += "-Wl,--rpath,\'\$$ORIGIN/lib\'" 不論設不設定都得到相同的錯誤訊息) 懇請板上先進給予詳細指引。 以下是我的執行程序目錄結構: MyApp/ ├── lib │ ├── libicudata.so.56 │ ├── libicui18n.so.56 │ ├── libicuuc.so.56 │ ├── libQt5Core.so.5 │ ├── libQt5DBus.so.5 │ ├── libQt5Gui.so.5 │ └── libQt5XcbQpa.so.5 │ (以下省略..) │ ├── plugins(/Qt/ggc_64/plugins資料夾完整複製) │ ├── platforms │ ├── platforms(/Qt/ggc_64/plugins/platforms/資料夾完整複製) │ ├── libqxcb.so │ │ ├── MyApp(可執行文件) │ ├── MyApp.sh 若有板上先進知道如何解決問題,還請不吝賜教,謝謝^^ ※ 編輯: BIAO (122.116.193.176), 07/11/2017 11:35:00
文章代碼(AID): #1POFhYbN (C_and_CPP)
文章代碼(AID): #1POFhYbN (C_and_CPP)