我有一个QML应用程序。我创建了自己的QML模块。称为MyCustomModule
。该模块具有适当的qmldir
文件,该文件已注册到相应的my_custom_module.qrc
文件中。在C ++中启动应用程序时,我还使用addImportPath("qrc:///my_custom_module");
添加了导入路径。我使用的是CMake而不是QMake。
我在任何地方导入MyCustomModule
的QtCreator都告诉我QML module not found
,但是当我构建应用程序时,构建过程没有任何问题并且可以运行。
我想念什么吗?
答案 0 :(得分:0)
我的问题是我的CMake文件中缺少QML_IMPORT_PATH
。示例:
# Make Qt Creator aware of where the QML modules live
set (_QML_IMPORT_PATHS "")
## Add new module paths here.
list (APPEND _QML_IMPORT_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/path/to/your/module)
set (
QML_IMPORT_PATH
${_QML_IMPORT_PATHS}
CACHE
STRING
"Path used to locate CMake modules by Qt Creator"
FORCE
)
一个重要的旁注是${CMAKE_CURRENT_SOURCE_DIR}/path/to/your/module
应该指向模块所在的文件夹,而不是模块文件夹本身。因此,如果您有这样的路径:
/path/to/your/module/MyCustomModule
,CMake应该包含路径/path/to/your/module
。