-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.5.3, 6.5, 6.6.0 Beta3, 6.6, 6.7.0 FF
-
6.6.0 Beta2
-
None
-
Fedora 38
-
3cfdac28c (dev), 776b26bb0 (6.6), fb8e24410 (6.5)
Building the following example with qmlsc in direct mode doesn't work:
CMakeLists.txt:
cmake_minimum_required(VERSION 3.16)
project(qmltest VERSION 0.1 LANGUAGES CXX)
set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 6.5 COMPONENTS Quick QuickControls2 REQUIRED)
qt_policy(SET QTP0001 NEW)
qt_add_executable(appqmltest
main.cpp
)
qt_add_qml_module(appqmltest
URI qmltest
VERSION 1.0
QML_FILES mymain.qml
DEPENDENCIES QtQuick
)
set_target_properties(appqmltest PROPERTIES
QT_QMLCACHEGEN_EXECUTABLE qmlsc
)
set_target_properties(appqmltest PROPERTIES
QT_QMLCACHEGEN_DIRECT_CALLS ON
)
target_compile_definitions(appqmltest
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(appqmltest
PRIVATE Qt6::Quick Qt6::QuickPrivate Qt6::QuickTemplates2Private)
mymain.qml:
import QtQuickText { onLineLaidOut: console.log("Hello") }
Compiler output:
FAILED: appqmltest : && /usr/bin/g++ -DQT_QML_DEBUG -g CMakeFiles/appqmltest.dir/appqmltest_autogen/mocs_compilation.cpp.o CMakeFiles/appqmltest.dir/main.cpp.o CMakeFiles/appqmltest.dir/appqmltest_qmltyperegistrations.cpp.o CMake Files/appqmltest.dir/.rcc/qrc_qmake_qmltest.cpp.o CMakeFiles/appqmltest.dir/.rcc/qmlcache/appqmltest_qmlcache_loader.cpp.o CMakeFiles/appqmltest.dir/.rcc/qmlcache/appqmltest_mymain_qml.cpp.o CMakeFiles/appqmltes t.dir/.rcc/qrc_appqmltest_raw_qml_0.cpp.o -o appqmltest -Wl,-rpath,/home/nico/Qt/6.6.0/gcc_64/lib /usr/lib64/libxkbcommon.so /home/nico/Qt/6.6.0/gcc_64/lib/libQt6QuickTemplates2.so.6.6.0 /home/nico/Qt/6.6.0/ gcc_64/lib/libQt6Quick.so.6.6.0 /home/nico/Qt/6.6.0/gcc_64/lib/libQt6OpenGL.so.6.6.0 /home/nico/Qt/6.6.0/gcc_64/lib/libQt6Gui.so.6.6.0 /usr/lib64/libGLX.so /usr/lib64/libOpenGL.so /home/nico/Qt/6.6.0/gcc_64 /lib/libQt6QmlModels.so.6.6.0 /home/nico/Qt/6.6.0/gcc_64/lib/libQt6Qml.so.6.6.0 /home/nico/Qt/6.6.0/gcc_64/lib/libQt6Network.so.6.6.0 /home/nico/Qt/6.6.0/gcc_64/lib/libQt6Core.so.6.6.0 && : /usr/bin/ld: CMakeFiles/appqmltest.dir/.rcc/qmlcache/appqmltest_mymain_qml.cpp.o: in function `QtPrivate::MetaObjectForType<QQuickTextLine*, void>::metaObjectFunction(QtPrivate::QMetaTypeInterface const*)': /home/nico/Qt/6.6.0/gcc_64/include/QtCore/qmetatype.h:980: undefined reference to `QQuickTextLine::staticMetaObject' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed.