Для тех из вас, кто не имеет Visual Studio, но хотел бы скомпилировать OpenCV из исходного кода с помощью MinGW для Windows и столкнуться с этой проблемой, вот моя команда cmake:
cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE=RELEASE -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.1.0/modules -D PYTHON_EXECUTABLE=C:/Users/your_user_name/Envs/cv/Scripts/python.exe -D BUILD_EXAMPLES=ON -D CMAKE_CXX_FLAGS="-DMS_WIN64 -w" ..
(Для незнакомых: в «cmd.exe» создайте папку с именем build
в папке opencv-3.1.0
, в которой содержится файл с именем CMakeLists.txt
, cd
в build
, и введите указанную выше команду. там. Вы можете редактировать большинство параметров по вашему желанию, я использовал виртуальную среду для Python, но вам не нужно.)
Есть еще одна вещь, которую вам нужно сделать, это добавить
#include <cmath>
#define _hypot hypot
до #include <Python.h>
в opencv-3.1.0\modules\python\src2\cv2.cpp
, что решает проблему «неопределенной гипотезы», с которой вы можете столкнуться, как это предлагается в соответствующих сообщениях SO.
Скорее всего, вы без проблем скомпилируете, например, make -j4
после этих двух настроек.