Я пытаюсь создать 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 Quick Start Установка в Windows:
- В случае библиотеки Eigen это снова случай загрузки и извлечения в каталог D:/OpenCV/dep.
- То же, что и выше с OpenEXR.
поэтому я загрузил версию исходного кода OpenEXR 1.7.1 и извлек полученные файлы, поместив каталог openexr-1.7.1
в C:\OpenCV2.4.6\dep
.
Затем я запустил cmake и попытался создать результирующее решение Visual Studio. К сожалению, я вижу те же ошибки.