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环境变量(上面注释部分)

你可能感兴趣的:(C++,Qt)