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?
非常感谢帮助或建议!
由于
戴夫托马斯答案 0 :(得分:1)
虽然你已经提到你的CMake中没有红色项目并且你选择了WITH_QT,但根据我的经验,你需要在CMake中填写另外7条关于Qt5的路径。
你介意检查这个
在CMake gui中,当高级选择时,在搜索字段中输入 qt 。
应该有QT_QMAKE_EXECUTABLE和一些Qt5XXXX_DIR。
这些都设置得好吗?