QML - не тип - PullRequest
       0

QML - не тип

0 голосов
/ 19 февраля 2020

Я создал общую библиотеку, к которой я хочу получить доступ в другом подпроекте моего проекта. Общая библиотека имеет следующий .pro файл

QT     += qml quick widgets

CONFIG += qml_debug
CONFIG += c++11

TARGET  = K_Report
TEMPLATE = lib

win32:CONFIG(release, debug|release): DESTDIR = $$PWD/../bin/release
else:win32:CONFIG(debug, debug|release): DESTDIR = $$PWD/../bin/debug

DEFINES += K_REPORT_LIBRARY
DEFINES += QT_DEPRECATED_WARNINGS

SOURCES +=

HEADERS += \
    k_report_global.h

unix {
    target.path = /usr/lib
    INSTALLS += target
}

RESOURCES += \
    qml.qrc

В библиотеке также есть файл k_report_global.h, который используется для создания общей библиотеки.

//k_report_global.h
#ifndef K_REPORT_GLOBAL_H
#define K_REPORT_GLOBAL_H
#include <QtCore/qglobal.h>

#if defined(K_REPORT_LIBRARY)
#  define K_REPORTSHARED_EXPORT Q_DECL_EXPORT
#else
#  define K_REPORTSHARED_EXPORT Q_DECL_IMPORT
#endif

#endif // K_REPORT_GLOBAL_H

Я создал qml-файл для тестирования

//Testfile.qml
import QtQuick 2.0

Rectangle {
    width: 100
    height: 100
    color: "red"
    border.color: "black"
    border.width: 5
    radius: 10
}

Я импортировал библиотеку в другой подпроект моего проекта со следующими строками кода:

win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../K_Report/release/ -lK_Report
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../K_Report/debug/ -lK_Report
else:unix: LIBS += -L$$OUT_PWD/../K_Report/ -lK_Report

INCLUDEPATH += $$PWD/../K_Report
DEPENDPATH += $$PWD/../K_Report

Теперь я хочу использовать Testfile{} в одном из файлов qml проекта, который использует общую библиотеку. QtCreator может разрешить все и находит Testfile{}, но когда я пытаюсь запустить его, все падает. он говорит, что TestFile{} не тип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...