When I want to run this example of Integrating QML and C++ I get a error (in the backend.h) that QML_ELEMENT is not a defined type. I know that a similar question was asked here already, however since I copy pasted from the official example, I did #include <qqml.h>. That means the cause of my error has to be a different one.
In addition importing io.qt.examples.backend 1.0 gives me a error, that this QML module can not be found. I use Qt 5.9 and Qt Quick Application.
The content of my backend.cpp, backend.h and main.qml are copy pasted from the example, so I won't repost them. My project file is just the default one with the additions from the example:
QT += quick
CONFIG += c++11 qmltypes
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Refer to the documentation for the
# deprecated API to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
backend.cpp \
main.cpp
RESOURCES += qml.qrc
QML_IMPORT_NAME = io.qt.examples.backend
QML_IMPORT_MAJOR_VERSION = 1
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
# Additional import path used to resolve QML modules just for Qt Quick Designer
QML_DESIGNER_IMPORT_PATH =
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
HEADERS += \
backend.h