我正在尝试创建一个QML组件(QQuickItem),它将接收一个URL并在OpenCV上显示rtsp流的帧。
我一直在关注this tutorial创建插件并将其公开到我的QML视图。
当我尝试执行时出现问题,控制台说:" module" CVCamScreen"未安装"
也正在识别导入QML文件。它编译但不运行。
以下是cvcamscreen项目配置:
qmldir:
module CVCamScreen
plugin CVCamScreen
cvcamscreen.pro:
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 下创建的,这意味着它是在主项目文件夹下创建的。
我在 Windows 8.1
上使用 QT 5.3 和 Qt Creator 3.1.2(开源)其他信息
我注意到Qt Creator在一个名为 build-BSSecurityClient-Desktop_Qt_5_3_MinGW_32bit-debug 和 build-BSSecurityClient-Desktop_Qt_5_3_MinGW_32bit-release 的新目录下构建项目。
我不知道这是否是Qt Creator的正确行为,但这些目录中还有另外两个名为 debug 和 release 的目录。这给我留下了以下结构:
- 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