Qt Qml编译问题 (QtCharts 和 windeployqt)

编译命令

# windeployqt --release [你的程序.exe] --qmldir [找到对应的安装路径]
windeployqt --release nlgMotor1.exe --qmldir D:\Qt\Qt5.12.5\5.12.5\mingw73_32\qml

# 如果你在qml中使用了 QtCharts,当前windeployqt有bug,所以还需要以下操作
# 进入 D:\Qt\Qt5.12.5\5.12.5\mingw73_32\qml,手动拷贝 QtCharts 的文件夹到程序目录下
# 然后从 D:\Qt\Qt5.12.5\5.12.5\mingw73_32\bin 拷贝 Qt5Charts.dll 到你的程序目录
# qml的chart是对Q5tCharts.dll的封装,并非完全独立写的

 

我的错误信息

# 没有拷贝 QtCharts 目录
QQmlApplicationEngine failed to load component
qrc:/main.qml:3 module "QtCharts" is not installed

# 没有写 windeployqt --qml [qml目录]
QQmlApplicationEngine failed to load component
qrc:/main.qml:1 module "QtQuick" is not installed
qrc:/main.qml:4 module "QtQuick.Controls" is not installed
qrc:/main.qml:2 module "QtQuick.Window" is not installed
qrc:/main.qml:5 module "QtQuick.Layouts" is not installed
qrc:/main.qml:3 module "QtCharts" is not installed
qrc:/main.qml:1 module "QtQuick" is not installed
qrc:/main.qml:4 module "QtQuick.Controls" is not installed
qrc:/main.qml:2 module "QtQuick.Window" is not installed
qrc:/main.qml:5 module "QtQuick.Layouts" is not installed
qrc:/main.qml:3 module "QtCharts" is not installed
qrc:/main.qml:1 module "QtQuick" is not installed
qrc:/main.qml:4 module "QtQuick.Controls" is not installed
qrc:/main.qml:2 module "QtQuick.Window" is not installed
qrc:/main.qml:5 module "QtQuick.Layouts" is not installed
qrc:/main.qml:3 module "QtCharts" is not installed
qrc:/main.qml:1 module "QtQuick" is not installed
qrc:/main.qml:4 module "QtQuick.Controls" is not installed
qrc:/main.qml:2 module "QtQuick.Window" is not installed
qrc:/main.qml:5 module "QtQuick.Layouts" is not installed
qrc:/main.qml:3 module "QtCharts" is not installed
qrc:/main.qml:1 module "QtQuick" is not installed
qrc:/main.qml:4 module "QtQuick.Controls" is not installed
qrc:/main.qml:2 module "QtQuick.Window" is not installed
qrc:/main.qml:5 module "QtQuick.Layouts" is not installed

 

 

windeployqt编译语法

  Usage: windeployqt [options] [files]
  Qt Deploy Tool 5.12.2

  The simplest way to use windeployqt is to add the bin directory of your Qt
  installation (e.g. ) to the PATH variable and then run:
    windeployqt 
  If ICU, ANGLE, etc. are not in the bin directory, they need to be in the PATH
  variable. If your application uses Qt Quick, run:
    windeployqt --qmldir  

  Options:
    -?, -h, --help            Displays this help.
    -v, --version             Displays version information.
    --dir          Use directory instead of binary directory.
    --libdir            Copy libraries to path.
    --plugindir         Copy plugins to path.
    --debug                   Assume debug binaries.
    --release                 Assume release binaries.
    --pdb                     Deploy .pdb files (MSVC).
    --force                   Force updating files.
    --dry-run                 Simulation mode. Behave normally, but do not
                              copy/update any files.
    --no-patchqt              Do not patch the Qt5Core library.
    --no-plugins              Skip plugin deployment.
    --no-libraries            Skip library deployment.
    --qmldir       Scan for QML-imports starting from directory.
    --no-quick-import         Skip deployment of Qt Quick imports.
    --no-translations         Skip deployment of translations.
    --no-system-d3d-compiler  Skip deployment of the system D3D compiler.
    --compiler-runtime        Deploy compiler runtime (Desktop only).
    --no-compiler-runtime     Do not deploy compiler runtime (Desktop only).
    --webkit2                 Deployment of WebKit2 (web process).
    --no-webkit2              Skip deployment of WebKit2.
    --json                    Print to stdout in JSON format.
    --angle                   Force deployment of ANGLE.
    --no-angle                Disable deployment of ANGLE.
    --no-opengl-sw            Do not deploy the software rasterizer library.
    --list 

 

你可能感兴趣的:(c++,qt)