我在我的 QML 项目中使用qChart.js,并且能够通过将其导入 QML 来很好地访问这些库
import jbQuick.Charts 1.0
并通过硬编码文件路径来添加资源路径
QQmlApplicationEngine engine;
engine.addImportPath("C:\\PathToProject\\qml\\");
但是,我想部署我的项目并且不能有硬编码路径,因为这会因用户而异。我已尝试添加此问题中指定的文件,因此我的 qrc 现在具有以下内容:
我现在已将 addImportPath 语句修改为以下内容:
engine.addImportPath("qrc:///qml");
但是,当使用 qrc 文件运行QChart.qml
并QChart.js
包含在其中时,我收到以下错误:
qmlcache_loader.obj:-1: error: LNK2001: unresolved external symbol "unsigned char const * const QmlCacheGeneratedCode::_qml_jbQuick_Charts_qml_jbQuick_Charts_QChart_js::qmlData" (?qmlData@_qml_jbQuick_Charts_qml_jbQuick_Charts_QChart_js@QmlCacheGeneratedCode@@3QBEB)
qmlcache_loader.obj:-1: error: LNK2001: unresolved external symbol "unsigned char const * const QmlCacheGeneratedCode::_qml_jbQuick_Charts_qml_jbQuick_Charts_QChart_qml::qmlData" (?qmlData@_qml_jbQuick_Charts_qml_jbQuick_Charts_QChart_qml@QmlCacheGeneratedCode@@3QBEB)
我的理解是,在 中引用的任何文件qmldir
也必须添加到 qrc 文件中,即QChart.qml
and QChart.js
. 我还应该补充一点,我在发布模式下运行它。在调试模式下,我只是得到module "jbQuick.Charts" is not installed
错误。我究竟做错了什么?