Ошибки '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. К сожалению, я вижу те же ошибки.

Ответы на вопрос(2)

Ваш ответ на вопрос