C++ QQmlExtensionPlugin可以';找不到

C++ QQmlExtensionPlugin可以';找不到,c++,windows,qt,plugins,qml,C++,Windows,Qt,Plugins,Qml,我正在尝试创建一个QML组件(QQuickItem),它将接收URL并通过OpenCV显示rtsp流的帧 我一直在跟踪创建插件并将其公开到我的QML视图中 问题当我尝试执行时,控制台显示:“模块”CVCamScreen“未安装” 导入到QML文件的操作也被识别。它可以编译,但不运行 以下是cvcamscreen项目配置: qmldir: module CVCamScreen plugin CVCamScreen TEMPLATE = lib TARGET = CVCamScreen QT +=

我正在尝试创建一个QML组件(QQuickItem),它将接收URL并通过OpenCV显示rtsp流的帧

我一直在跟踪创建插件并将其公开到我的QML视图中

问题当我尝试执行时,控制台显示:“模块”CVCamScreen“未安装”

导入到QML文件的操作也被识别。它可以编译,但不运行

以下是cvcamscreen项目配置:

qmldir:

module CVCamScreen
plugin CVCamScreen
TEMPLATE = lib
TARGET = CVCamScreen
QT += qml quick
CONFIG += qt plugin

TARGET = $$qtLibraryTarget($$TARGET)
uri = CVCamScreen

# Input
SOURCES += \
    cvcamscreen_plugin.cpp \
    cvcamscreen.cpp

HEADERS += \
    cvcamscreen_plugin.h \
    cvcamscreen.h

OTHER_FILES = qmldir

!equals(_PRO_FILE_PWD_, $$OUT_PWD) {
    copy_qmldir.target = $$OUT_PWD/qmldir
    copy_qmldir.depends = $$_PRO_FILE_PWD_/qmldir
    copy_qmldir.commands = $(COPY_FILE) \"$$replace(copy_qmldir.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qmldir.target, /, $$QMAKE_DIR_SEP)\"
    QMAKE_EXTRA_TARGETS += copy_qmldir
    PRE_TARGETDEPS += $$copy_qmldir.target
}

qmldir.files = qmldir
unix {
    installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /)
    qmldir.path = $$installPath
    target.path = $$installPath
    INSTALLS += target qmldir
}

unix:!macx|win32: LIBS += -L$$PWD/../../../../../../opencv/build/x86/mingw/lib/ -llibopencv_core249

INCLUDEPATH += $$PWD/../../../../../../opencv/build/include
DEPENDPATH += $$PWD/../../../../../../opencv/build/include
cvcamscreen.pro:

module CVCamScreen
plugin CVCamScreen
TEMPLATE = lib
TARGET = CVCamScreen
QT += qml quick
CONFIG += qt plugin

TARGET = $$qtLibraryTarget($$TARGET)
uri = CVCamScreen

# Input
SOURCES += \
    cvcamscreen_plugin.cpp \
    cvcamscreen.cpp

HEADERS += \
    cvcamscreen_plugin.h \
    cvcamscreen.h

OTHER_FILES = qmldir

!equals(_PRO_FILE_PWD_, $$OUT_PWD) {
    copy_qmldir.target = $$OUT_PWD/qmldir
    copy_qmldir.depends = $$_PRO_FILE_PWD_/qmldir
    copy_qmldir.commands = $(COPY_FILE) \"$$replace(copy_qmldir.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qmldir.target, /, $$QMAKE_DIR_SEP)\"
    QMAKE_EXTRA_TARGETS += copy_qmldir
    PRE_TARGETDEPS += $$copy_qmldir.target
}

qmldir.files = qmldir
unix {
    installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /)
    qmldir.path = $$installPath
    target.path = $$installPath
    INSTALLS += target qmldir
}

unix:!macx|win32: LIBS += -L$$PWD/../../../../../../opencv/build/x86/mingw/lib/ -llibopencv_core249

INCLUDEPATH += $$PWD/../../../../../../opencv/build/include
DEPENDPATH += $$PWD/../../../../../../opencv/build/include
cvcamscreen项目是在MyProject\cvcamscreen下创建的,这意味着它是在主项目文件夹下创建的

我使用的是Qt5.3QtCreator3.1.2(开源)而不是Windows8.1

传统信息

我注意到Qt创建者在一个名为build-BSSecurityClient-Desktop\u Qt\u 5\u 3\u MinGW\u 32bit-debugbuild-BSSecurityClient-Desktop\u Qt\u 5\u 3\u MinGW\u 32bit-release的新目录下构建项目

我不知道这是否是Qt Creator的正确行为,但这些目录中都有另外两个名为debugrelease的目录。这给我留下了以下结构:

- build-BSSecurityClient-Desktop_Qt_5_3_MinGW_32bit-debug
    - debug
    - release

- build-BSSecurityClient-Desktop_Qt_5_3_MinGW_32bit-release
    - debug
    - release
我可能错了,但这个层次结构对我来说毫无意义,只要它被指定为调试和relase文件夹,所以我认为没有理由再次将其分离

问题:我应该如何配置此项目以协同工作

编辑-----------------

因此,我尝试通过以下操作将其导入qml文件:

import CVCamScreen 1.0

在导入插件时,向您展示C++代码,只需导入QML。通过在构建中添加包含LIBS和QMLDIR文件的文件夹来解决它。directory@RafaelTSCS你给文件夹起了什么名字?你是怎么得到这个名字的?对我来说似乎什么都不管用