Я пытался использовать opencv на QT. Хотя, следуя всем инструкциям, которые я мог найти в Интернете, я потерпел неудачу. Скомпилирован opencv с CMAKE (используя это руководство https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows), но у меня есть следующая ошибка:
[ 50%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/container_avi.cpp.obj
[ 50%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_cmu.cpp.obj
[ 50%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj
C:\QTopencv\opencv\sources\modules\videoio\src\cap_dshow.cpp:114:21: fatal error: Aviriff.h: No such file or directory
#include "Aviriff.h"
^
compilation terminated.
modules\videoio\CMakeFiles\opencv_videoio.dir\build.make:146: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj' failed
mingw32-make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj] Error 1
CMakeFiles\Makefile2:3052: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/all' failed
mingw32-make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2
makefile:161: recipe for target 'all' failed
mingw32-make: *** [all] Error 2
Я сделал это, кроме руководства https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows
- Не проверено
ENABLE_PRECOMPILED_HEADERS
в CMAKE
- Проверено
ENABLE_CXX11
в CMAKE
- В
opencv/sources/modules/videoio/src/cap_dshow.cpp
файле, добавлено #define NO_DSHOW_STRSAFE
, перед строкой: #include "DShow.h
- В
OpenCVCompilerOptions.cmake
файле;
изменено add_extra_compiler_option(-Werror=non-virtual-dtor)
на #add_extra_compiler_option(-Werror=non-virtual-dtor)
Что бы я ни делал, я не смог добиться успеха.
ОБНОВЛЕНИЕ : для компиляции использовались обе версии cmake Windows win32-x86 и Windows win64-x64, но результат один и тот же.
ОБНОВЛЕНИЕ : Снимите флажок "BUILD_opencv_videoio" и используйте версию cmake для Windows win32-x86 для компиляции, а затем результат был успешным. Теперь у меня есть файлы библиотеки для использования.
- проверено WITH_QT
- не проверено WITH_CUDA
- CMAKE_BUILD_TYPE - «Отладка» (без кавычек).
Теперь я могу использовать QT с созданными библиотеками, и вот мой файл .pro QT:
ОБНОВЛЕНИЕ : Но я до сих пор не понял, как компилировать без отключения "BUILD_opencv_videoio". Любая помощь будет оценена.
----------------------------------------------- -
QT + = основной графический интерфейс
большее значение (QT_MAJOR_VERSION, 4): QT + = виджеты
TARGET = TX
ШАБЛОН = приложение
INCLUDEPATH + = C: \ OCV \ opencv_build \ install \ include
LIBS + = -LC: \ OCV \ opencv_build \ bin \
libopencv_core341d \
libopencv_highgui341d \
libopencv_imgproc341d \
libopencv_features2d341d \
libopencv_calib3d341d \
SOURCES + = main.cpp \
mainwindow.cpp
HEADERS + = mainwindow.h
FORMS + = mainwindow.ui