Mingw32 opencv3.4 ошибка компиляции - PullRequest
0 голосов
/ 27 июня 2018

Я пытался использовать 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

...