Ошибки 'min (& max) не являются членами std' при сборке OpenCV 2.4.6 в Windows 8 для Visual Studio 2012
Я пытаюсь собрать OpenCV 2.4.6 на Windows 8 в Visual Studio 2012. Загрузив исходный код сhttps://github.com/Itseez/opencv Я генерирую (оставляя конфигурацию по умолчанию), используя cmake, а затем загружаю полученный файлALL_BUILD.vcxproj
в Visual Studio 2012. Затем я пытаюсь его построить. Некоторые из модулей действительно собираются (например, core, flann, imgproc, ...), но я пытаюсь собрать highgui, чтобы я мог использовать файл PDB для отладки своего кода (который не может открыть видеофайл). Ошибки сборки начинаются с этой и многих похожих ошибок:
ошибка C2039: «max»: не является членом «std» C: \ OpenCV2.4.6 \ 3rdparty \ openexr \ Imath \ ImathMatrixAlgo.cpp 1094 1 IlmImf
Одно исправление для таких ошибок (например, вэтот ответ) это добавить#include <algorithm>
к ошибочным файлам. Я пробовал это на нескольких файлах, и это, кажется, работает, но я нервничаю из-за локального изменения источника популярной библиотеки. Он должен основываться на Windows (вы можете загрузить двоичные файлы, но не файлы PDB, ссайт openCV sourceforge) поэтому я хотел бы понять, как собрать его на моей машине без изменения источника.
Я что-то упустил на этапе настройки? На моей машине отсутствуют какие-либо настройки пути и т. Д.? Почему я получаю эти ошибки и как их исправить?
========== РЕДАКТИРОВАТЬ ==========
Если посмотреть на путь к каталогу, это может показаться проблемой с одной из сторонних зависимостей, OpenEXR. Ищуна Github похоже, это версия 1.7.1 OpenEXR, которая используется в OpenCV 2.4.6. Инструкции в быстром старте OpenCVУстановка на Windows государство:
В случае библиотеки Eigen это снова случай загрузки и извлечения в каталог D: / OpenCV / dep.То же, что и выше с OpenEXR.поэтому я скачалВыпуск исходного кода OpenEXR 1.7.1 и извлекли получившиеся файлы, положив каталогopenexr-1.7.1
вC:\OpenCV2.4.6\dep
.
Затем я запустил cmake и попытался построить получившееся решение Visual Studio. К сожалению, я вижу те же ошибки.