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).