Qt6 не могу использовать контроллеры с qmltc (ENABLE_TYPE_COMPILER)

Следовал примеру работы с qmltc из документации Qt, всё работало. Решил подключить контролеры и всё перестало работать. Что делать?

CMakeLists.txt:

cmake_minimum_required(VERSION 3.16)

project(untitled3 VERSION 0.1 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt6 REQUIRED COMPONENTS QmlPrivate QuickPrivate )

qt_standard_project_setup(REQUIRES 6.8)

qt_add_executable(appuntitled3
    main.cpp
)

qt_add_qml_module(appuntitled3
    URI untitled3
    VERSION 1.0
    QML_FILES
        Main.qml
        ENABLE_TYPE_COMPILER
        NO_GENERATE_EXTRA_QMLDIRS
)

set_target_properties(appuntitled3 PROPERTIES
    WIN32_EXECUTABLE TRUE
)

target_link_libraries(appuntitled3
    PRIVATE Qt::QmlPrivate Qt::QuickPrivate
    
)

include(GNUInstallDirs)
install(TARGETS appuntitled3
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

При таком .qml сработает:

import QtQuick
Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")
}

При таком .qml НЕ сработает:

import QtQuick
import QtQuick.Controls.Universal
Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")
    Button{
        text: "fefe"
    }
}

Ошибка: C:\pro\qtC\Qt\untitled3\Main.qml:8: ошибка: Can't compile the QML base type "Button" to C++ because it lives in "QtQuick.Controls.Universal" instead of the current file's "untitled3" QML module. [compiler]

Пробовал добавлять QuickControls2 в find_package и Qt6::QuickControls2 в target_link_libraries, но это не дало никакого эффекта.

У меня Qt 6.10 с GCC(MinGW-w64) x86_64 13.1.0 (Установлено через инсталлятор Qt).


Ответы (0 шт):