我有一个 CMake (3.22.1) 项目,并且添加了我的 QML (Qt SDK 6.5.5) 模块,如下所示:
qt_add_qml_module(MyQmlModule
URI MyQmlModule
VERSION 1.0
RESOURCE_PREFIX /
QML_FILES ${QML_SOURCE_FILES}
)
虽然项目构建并运行得很好,但
Qt Creator (13.0.0, 14.0.0)
不理解导入,这让我很烦恼:
我需要这个导入,因为否则我的单例 QML 对象将无法工作:
set_source_files_properties(MySingleton.qml PROPERTIES QT_QML_SINGLETON_TYPE TRUE)
错误消息表明
QML_IMPORT_PATH
应该位于 CMakeCache.txt
中,但不确定这是否与此特定情况相关,因为该项目实际上有效。
有没有办法让
Qt Creator
理解我的导入,或者这只是一个错误?
将这两行放在主 CMakeLists 中可能会解决问题:
set(QT_QML_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/qml" CACHE PATH "Install path for QML" FORCE)
set(QML_IMPORT_PATH ${CMAKE_BINARY_DIR}/qml CACHE STRING "Extra QML Import Paths" FORCE)
这看起来像是现金错误,否则该项目一开始就不会运行。设置QML的路径,将其存储为现金,然后从指定路径导入。