Компилировать OpenCV (2.3.1+) для OS X Lion/Mountain Lion с Xcode
Может ли кто-нибудь предоставить мне подробное руководство по компиляции OpenCV 2.3.1 на OS X Lion с Xcode?
Я злюсь об этом... Я получил источник, использовал cmake для создания шаблона Xcode и попытался его создать, но с ошибкой около 200.
Спасибо заранее,
Дом
РЕШЕНИЕ в моем ответе.
Ответы
Ответ 1
Подробное руководство по запуску и запуску OpenCV 2.3.1 под OS X Lion (10.7.2) с помощью Xcode 4.2.1 с использованием MacPorts
EDIT 08/06/2012: Это также работает для OpenCV 2.4.1. Просто убедитесь, что вы получили последнюю версию Xcode и установили "Инструменты командной строки" (Xcode → Настройки → Загрузки → Инструменты командной строки).
РЕДАКТИРОВАТЬ 15/08/2012: Протестировано все с помощью Mountain Lion и текущими версиями Xcode и OpenCV... он работает:) И вам не нужно использовать компилятор LLVM.
EDIT 16/10/204: За последний год я отказался от MacPorts и начал использовать brew, который работает лучше для моих целей.
Brew руководство
1.) Получите текущую версию Brew здесь.
2.) Убедитесь, что Brew готов к работе
brew doctor && brew update
3.) Установите OpenCV (по состоянию на 17/20/2014 v2.4.9)
brew install opencv
4.) Запустите Xcode (начиная с 17/20/2014 v6.0.1) и откройте/создайте свой проект
5.) Выберите свою цель, перейдите в "Общие" и нажмите кнопку "+" в "Связанные рамки и библиотеки"
5.1.) Нажмите "Добавить другое", нажмите "/", перейдите в "/usr/local/lib" и добавьте любой libopencv _ **. dylib вам нужно
6.) Теперь добавьте "/usr/local/include" в "Пути поиска заголовков" в разделе "Настройки сборки" (цель все еще выбрана)
7.) Наконец, убедитесь, что OpenCV включен в ваши .mm файлы.
Руководство по MacPorts (возможно, устарело)
1.) Получите текущую версию MacPorts здесь. Не забудьте добавить "/opt/local/(s) bin" в вашу среду PATH
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
2.) Держите свои MacPorts up-2-date:
sudo port -v selfupdate
3.) Установите OpenCV 2.3.1 (здание с llvm-gcc)
sudo port install opencv configure.compiler=llvm-gcc-4.2
4.) Запустите Xcode и создайте свой проект
5.) Выберите цель, перейдите в "Сводка" и нажмите кнопку "+" в "Связанные рамки и библиотеки"
5.1.) Нажмите "Добавить другое", нажмите "/" и перейдите в "/opt/local/lib"
5.2.) Добавьте любой libopencv _ **. dylib вам нужно
6.) Теперь добавьте "/opt/local/include/" в "Пути поиска заголовков" в разделе "Настройки сборки" (цель все еще выбрана)
7.) Наконец, убедитесь, что в начале вашего .pch файла есть следующие строки:
#ifdef __cplusplus
#import "opencv2/opencv.hpp"
#endif
В противном случае вы получите некоторые неприятные эры, подобные этому:
"Non-const static data member must be initialized out of line"
"Statement expression not allowed at file scope"
Что это! Надеюсь, что это поможет:)
Ответ 2
Благодаря Vachidrewer, я смог запустить OpenCv на Mavericks.
Я делал что-то в другом порядке, так что вот мои заметки.
-
Если он не установлен, установите Macports и добавьте его в путь.
(Я уже установил его)
-
Используйте Macports для обновления из командной строки
$ sudo port -v selfupdate
-
Используйте Macports для установки opencv и его зависимостей из командной строки.
$ sudo port install opencv
-
Если он не установлен, установите xCode. (Я уже установил его)
-
Используйте xCode для создания проекта командной строки С++.
-
Используйте xCode, чтобы убедиться, что созданная им простая программа hello world С++ работает, запустив ее в xCode IDE.
-
Измените файл main.cpp, созданный xCode, с примера hello world на простой пример opencv от Vachidrewer.
-
Обратите внимание, что редактор xCode сообщает, что он НЕ может найти заголовочный файл заголовка заголовка заголовка.
-
Добавьте/opt/local/include/в путь поиска проекта и обратите внимание, что ошибки редактора отключены.
-
Попробуйте запустить программу в xCode IDE и обратите внимание, что она сообщает, что она не может найти библиотеки opencv.
-
Добавьте в проект группу opencvfrqmework и добавьте в группу /opt/local/lib/libopencv _core.dylib и/opt/local/lib/livopencv_highgui.dylib.
-
Используйте среду ID xCode для запуска проекта и обратите внимание, что окно всплывает с половиной, но темнее, чем другая половина.
Ответ 3
Вы пытались просто создать его с помощью стандартных UNIX Make файлов?
Следуйте этому руководству и посмотрите, поможет ли это. Если вы уже загрузили исходный код, вам, вероятно, не нужно делать svn checkout, который предлагается. Вероятно, вы можете начать с Использовать CMake для сборки в разделе 2.
Надеюсь, что это поможет.
Ответ 4
С небольшими изменениями в @moosgummi ответьте ниже на шаги, которые выполняются с Xcode 4.6 на Mac OSX 10.7. Код TEST приведен ниже.
Установка OpenCV:
Получить текущую версию MacPorts здесь.
Не забудьте добавить "/opt/local/(s) bin" в вашу среду PATH
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
Держите свои MacPorts up-2-date:
sudo port -v selfupdate
Установить OpenCV с портами mac
sudo port install opencv
Настройка Xcode для использования OpenCV
-
Создайте новый проект XCode, используя шаблон командной строки/стандартный инструмент. Назовите его и выберите С++
-
Выберите "Проект" → "Изменить настройки проекта". Перейдите на вкладку "Сборка". Настройка конфигурации для всех конфигураций
-
В разделе "Архитектуры" дважды щелкните "Действительные архитектуры" и удалите все архитектуры PPC, если они есть.
-
Компилятор для C/С++/Objective-C > Компилятор Apple LLVM 4.2
Язык " > " Стандартная библиотека С++ "и выберите" libstdС++ (стандартная библиотека GNU С++) "
-
В разделе "Пути поиска" установите пути поиска заголовков в /opt/local/include/
Пожалуйста, выберите нерекурсивный вариант, добавив этот путь поиска
-
Закрыть окно "Информация о проекте"
-
Выберите Project → New Group и создайте группу под названием OpenCV Frameworks
Если выбрана новая группа, выберите "Проект → Добавить файлы в" Имя вашего проекта "
-
Нажмите клавишу "/", чтобы получить сообщение "Перейти к папке". Введите /opt/local/lib
Выберите libopencv_core.dylib, libopencv_highgui.dylib(вам может потребоваться добавить другие файлы библиотеки из этой папки, чтобы запустить другой код.)
-
Снимите флажок "Копировать элементы..." и нажмите "Добавить"
ИСПЫТАТЕЛЬНЫЙ КОД
Скопируйте этот код в файл main.cpp. Он должен открыть небольшое окно, которое полузатенено.
#include <iostream>
#include <opencv2/opencv.hpp>
int main(int argc, char *argv[])
{
// Open the file.
IplImage *img = cvCreateImage( cvSize(100,200), IPL_DEPTH_8U, 3); //if (!img) {
// printf("Error: Couldn't open the image file.\n");
// return 1;
//}
// Display the image.
cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
cvShowImage("Image:", img);
// Wait for the user to press a key in the GUI window.
cvWaitKey(0);
// Free the resources.
cvDestroyWindow("Image:");
cvReleaseImage(&img);
return 0;
}
Ответ 5
После получения большого количества ошибок (ошибка сегментации и т.д.), я наконец-то заработал. Вот учебник:
http://www.guidefreitas.com/installing-opencv-2-4-2-on-mac-osx-mountain-lion-with-python-support