Скомпилируйте OpenCV (2.3.1+) для OS X Lion / Mountain Lion с Xcode - PullRequest
6 голосов
/ 18 декабря 2011

Может ли кто-нибудь предоставить мне подробное руководство по компиляции OpenCV 2.3.1 на OS X Lion с XCode?

Я схожу с ума по этому поводу ... Я получил исходный код, использовал cmake для создания шаблона XCodeи попытался построить его, но он терпит неудачу примерно с 200 ошибками.

Заранее спасибо, Dom

РЕШЕНИЕ в моем ответном сообщении.

Ответы [ 5 ]

15 голосов
/ 19 декабря 2011

Подробное руководство о том, как запустить OpenCV 2.3.1 под OS X Lion (10.7.2) с Xcode 4.2.1 с использованием MacPorts

РЕДАКТИРОВАТЬ08/06/2012: Это также работает для OpenCV 2.4.1.Просто убедитесь, что вы получили последнюю версию XCode и установили «Инструменты командной строки» (Xcode -> Настройки -> Загрузка -> Инструменты командной строки).

РЕДАКТИРОВАТЬ 15/08 /2012: Протестировал все с помощью Mountain Lion и текущих версий Xcode и OpenCV ... это работает :) И вам не нужно использовать компилятор LLVM.

РЕДАКТИРОВАНИЕ 16/10/204: За последний год я отказался от MacPorts и начал использовать 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 актуальным:

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 голосов
/ 16 октября 2014

Благодаря Vachidrewer, я смог запустить OpenCv на Mavericks. Я делал вещи в несколько ином порядке, так что вот мои заметки.

  1. Если он не установлен, установите Macports и добавьте его в путь. (У меня уже было установлено)

  2. Используйте Macports для обновления себя из командной строки $ sudo port -v selfupdate

  3. Используйте Macports для установки opencv и его зависимостей из командной строки. $ sudo port install opencv

  4. Если он не установлен, установите xCode. (У меня уже было установлено)

  5. Используйте xCode для создания проекта командной строки C ++.

  6. Используйте xCode, чтобы убедиться, что созданная ею простая программа на C ++ hello world работает, запустив ее в xCode IDE.

  7. Измените файл main.cpp, созданный xCode из примера hello world, в простой пример opencv от Vachidrewer.

  8. Обратите внимание, что редактор xCode сообщает, что не может найти заголовочный файл заголовка opencv.

  9. Добавьте / opt / local / include / в путь поиска проекта и обратите внимание, что ошибки редактора исчезают.

  10. Попробуйте запустить программу в xCode IDE и обратите внимание, что она сообщает, что не может найти библиотеки opencv.

  11. Добавьте в проект группу с именем opencvfrqmework и добавьте в группу /opt/local/lib/libopencv_core.dylib и /opt/local/lib/livopencv_highgui.dylib.

  12. Используйте xCode IDE для запуска проекта и обратите внимание, что всплывает окно, половина которого темнее другой половины.

1 голос
/ 25 марта 2013

С небольшими изменениями в @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 актуальным:

sudo port -v selfupdate

Установка OpenCV с портами Mac

sudo port install opencv

Настройка XCode для использования OpenCV

  1. Создайте новый проект XCode, используя утилиту командной строки / стандартный инструмент. Назовите его и выберите C ++

  2. Выберите Проект -> Изменить настройки проекта. Выберите вкладку Build. Установить конфигурацию для всех конфигураций

  3. В разделе Архитектуры дважды щелкните Действительные архитектуры и удалите все архитектуры PPC, если таковые имеются.

  4. Компилятор для C / C ++ / Objective-C> Apple LLVM компилятор 4.2 Язык ">" Стандартная библиотека C ++ "и выберите" libstdc ++ (стандартная библиотека GNU C ++) "

  5. В разделе «Пути поиска» установите «Поиск путей заголовка» в / opt / local / include /
    Пожалуйста, выберите нерекурсивный как вариант при добавлении этого пути поиска

  6. Закрыть окно информации о проекте

  7. Выберите Project -> New Group и создайте группу под названием OpenCV Frameworks Выбрав новую группу, выберите «Проект» -> «Добавить файлы в« Имя вашего проекта »

  8. Нажмите клавишу "/", чтобы получить приглашение Перейти в папку. Введите / opt / local / lib Выберите libopencv_core.dylib, libopencv_highgui.dylib (может потребоваться добавить другие библиотечные файлы из этой папки, чтобы запустить другой код.)

  9. Снимите флажок Копировать элементы ... и нажмите Добавить

ТЕСТ-КОД

Скопируйте этот код в ваш файл 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;
}
1 голос
/ 18 декабря 2011

Вы пытались просто собрать его, используя стандартные файлы сборки UNIX?

Следуйте этому руководству , и посмотрите, поможет ли это.Если вы уже загрузили исходный код, вам, вероятно, не нужно делать svn checkout, который предлагается.Вероятно, вы можете начать с Используйте CMake для сборки в разделе 2.

Надеюсь, это поможет.

0 голосов
/ 07 сентября 2012

После того, как я получил много ошибок (ошибки сегментации и т. Д.), Я наконец-то начал работать.Вот учебник:

http://www.guidefreitas.com/installing-opencv-2-4-2-on-mac-osx-mountain-lion-with-python-support

...