带有QT5的OpenCv 2.4.7

时间:2013-12-25 23:27:55

标签: c++ opencv qt5

Windows 7,VSC2010

Opencv 2.4.7构建正常,主要适用于我的应用程序,但fontQt和其他相关的Qt文本函数会导致异常(参见下面的示例)。

似乎具有必要代码的文件(至少)source / modules / highgui / src中的window_QT.cpp,但基于我可以设置断点的位置,但这些文件不会显示在opencv_highgui中项目。

  

OpenCV错误:未实现功能/功能(库是   在没有QT支持的情况下编译)在cv :: fontQt,file中   ........ \ opencv \ modules \ highgui \ src \ window.cpp,第409行

在cmake gui(CMAKE 2.8.12.1)中检查了HAVE_QT复选框。发现所有库都没问题(GUI上没有红色)

在build / cvconfig.h中,我看到:

/* Qt support */
 #define HAVE_QT5

我找到了这个链接:enter link description here

但看起来它应该已经在2.4.7中,基于线程的后期帖子。

我真的不明白如何调试cmake的东西 - 似乎源代码可能正在寻找定义HAVE_QT,而可能只定义了HAVE_QT5?

或许,(在我不熟悉的地方摸索),我在highgui \ CMakeLists.txt中看到这个片段:

set(highgui_srcs
    src/cap.cpp
    src/cap_images.cpp
    src/cap_ffmpeg.cpp
    src/loadsave.cpp
    src/utils.cpp
    src/window.cpp
    )

file(GLOB highgui_ext_hdrs "include/opencv2/${name}/*.hpp" "include/opencv2/${name}/*.h")

if(HAVE_QT5)
  set(CMAKE_AUTOMOC ON)
  set(CMAKE_INCLUDE_CURRENT_DIR ON)

  QT5_ADD_RESOURCES(_RCC_OUTFILES src/window_QT.qrc)
  list(APPEND highgui_srcs src/window_QT.cpp src/window_QT.h ${_RCC_OUTFILES})

  foreach(dt5_dep Core Gui Widgets Test Concurrent)
    add_definitions(${Qt5${dt5_dep}_DEFINITIONS})
    include_directories(${Qt5${dt5_dep}_INCLUDE_DIRS})
    list(APPEND HIGHGUI_LIBRARIES ${Qt5${dt5_dep}_LIBRARIES})
  endforeach()

highgui_srcs是否应包含window_QT.cpp?

非常感谢帮助或建议!

由于

戴夫托马斯

1 个答案:

答案 0 :(得分:1)

虽然你已经提到你的CMake中没有红色项目并且你选择了WITH_QT,但根据我的经验,你需要在CMake中填写另外7条关于Qt5的路径。

你介意检查这个

在CMake gui中,当高级选择时,在搜索字段中输入 qt

应该有QT_QMAKE_EXECUTABLE和一些Qt5XXXX_DIR。

这些都设置得好吗?