QML程序運行環境說明

系統環境

  • 操作系統: Ubuntu 16.04 LTS
  • Qt版本: 5.11.2

運行庫

  • 保證 系統 LD_LIBRARY_PATH所在的路徑中, 包含了Qt5的運行庫, 其中以下運行庫是Qml程序運行所必須的最小依賴庫:
libQt5Qml.so
libQt5Gui.so
libQt5Core.so
libQt5Network.so
libicui18n.so
libicuuc.so
libicudata.so
  • 如果運行庫是安裝在自定義的路徑(比如 /usr/local/qt/lib) 時, 執行程序前需要將該lib路徑添加到 LD_LIBRARY_PATH環境變量中

插件

  • 運行Qt程序, 有個plugins目錄相當重要, plugins目錄下面的platform*系列目錄下有很多平臺相關的運行庫, 默認情況下, 會使用可執行文件所在目錄的platforms*目錄進行搜索平臺文件
  • 如果需要將平臺文件搜索路徑設定爲自定義路徑(比如 /usr/local/qt/plugins), 導入環境變量QT_QPA_PLATFORM_PLUGIN_PATH即可,
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/local/qt/plugins
  • 缺少該環境變量並且可執行文件所在目錄沒有對應平臺文件目錄, 執行將會報 xcb 錯誤

Qml

  • Qml程序運行除了傳統Qt程序的運行依賴以外, 還需要關注一下Qt安裝路徑下面qml目錄, 這個目錄是 .qml文件中 import 所需要的導入QtQuick組件的依賴路徑, 需要手動設定 QML2_IMPORT_PATH環境變量, 比如:
export QML2_IMPORT_PATH=/usr/local/qt/qml
  • 缺少該環境變量, 執行將會報import錯誤

運行示例(假定qt自定義安裝路徑爲/opt/qt)

# export DISPLAY=:0
export LD_LIBRARY_PATH=/opt/qt/lib:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM_PLUGIN_PATH=/opt/qt/plugins
export QML2_IMPORT_PATH=/opt/qt/qml
./my-qml-app

注意, 如果打開的終端不是本地桌面環境(比如ssh登錄), 又要在本地桌面環境下打開應用時, 需要設置 DISPLAY環境變量(上面註釋部分)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章