討論區快速選單
知識庫快速選單
網路投保旅行平安險 傑米的攝影旅遊筆記 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
Qt5 Ubuntu動態鏈結庫發佈配置問題
更改我的閱讀文章字型大小
作者 : yishiang0217(奕翔)
[ 貼文 134 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2017/7/8 下午 11:46:21
各位板友大家好,

因為沒有C++板,不曉得發在這裡合不合適..
若不合適還請告知。

我想請問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

若有板上先進知道如何解決問題,還請不吝賜教,謝謝^^
 板主 : simula
 > C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
C++
1 Raymond 13050 
2 青衫 4760 
3 simula 4690 
4 coco 4030 
5 白老鼠(Gary) 3670 
6 ozzy 2540 
7 Ben 2250 
8 Anderson 1960 
9 windblown 1650 
10 Kenny 1560 
C++
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.125