2012-06-27 1 views
3

Я уже много лет пытаюсь найти работу, пытаясь понять, как получить 32-разрядный OpenCV, работающий с OS X Lion, но может просто найти 64-битную версию.32-битный OpenCV на OS X Lion? Возможное?

Так у меня есть следующие вопросы:

OpenCV библиотека поставляется в 32-битной или 64-битной арке, это правильно?

Как получить 32-разрядный OpenCV, работающий над Lion? Я пробовал следующие способы: - Установить OpenCV через MacPorts: нет, MacPorts устанавливает 64-разрядную версию.BI удалены OpenCV и MacPorts.

  • Установка OpenCV 2.4.1 с помощью Homebrew, используя следующую команду:

заварить установить OpenCV --build32

, но похоже, что они являются 64-битными. Удалены OpenCV и Homebrew.

  • Установить OpenCV 2.4.1 самостоятельно, используя стандартные make-файлы unix. Нет, они по-прежнему выглядят как 64-битные.

Я написал «они выглядят как 64-битные», потому что мне нужно заменить OpenC в проекте Xcode, выполненном под OS X Snow Leopard, предназначенном для 32-разрядного Mac, и я всегда получаю массу ошибок, таких как :

ld: предупреждение: игнорирование файла /usr/local/Cellar/opencv/2.4.1/lib/libopencv_calib3d.2.4.1.dylib, файл был создан для неподдерживаемого формата файла, который не связан с архитектурой (i386)

, поэтому я полагаю, что материал OpenCV является 64-битным. Если я заставляю проект работать в 64-битном режиме, он трется, но не работает должным образом и застревает.

Есть ли стандартный способ проверить, являются ли мои библиотеки OpenCV 64-разрядными или 32-разрядными?

Где я могу получить 32-битный OpenCV?

+0

MacPorts только скомпилирует встроенную арку по умолчанию, но многие порты поддерживают обе арки. Вы пытались «установить порт opencv + universal»? – hamstergene

+0

Никогда, я попробую сегодня днем ​​и дам вам знать! :) – INElutTabile

+0

Я бы получил источник и скомпилировал его в 32-битном режиме. – Adrien

ответ

8

решаемые проблемы.

Рекомендация: возможно наличие 32-битных библиотек OpenCV на 64-разрядном Mac OSX Lion.

Как?

Шаг 1: Скачать OpenCV 2.4.0

Шаг 2: Загрузите и установите CMake.

Шаг 3: Нераспаять пакет OpenCV.

Шаг 4: Сделайте отдельный каталог внутри пакета OpenCV для построения

mkdir build 
cd build 
cmake -G "Unix Makefiles" -D CMAKE_OSX_ARCHITECTURES=i386 -D CMAKE_C_FLAGS=-m32 -D CMAKE_CXX_FLAGS=-m32 .. 

(это заставит 32-разрядные компиляции)

make -j8 
sudo make install 

Шаг 5: Наслаждайтесь!

Для forther справки, пожалуйста, посетите Mac OS X OpenCV Port Page

Спасибо всем за поставив меня на правильном пути:

@karlphilip: Я пытался сделать, как Вы предложили, но без опций делают фаза компиляции завершается , потому что архитектура некогерентна.

@hamstergene: MacPorts застрял после новой установки, может быть, у меня есть некоторые остатки старой установки :((странно, я последовал за официальным instrusctions, чтобы удалить его)

@Adrien.: Это то, что я сделал, но мне пришлось объединить 2 подхода :)

+0

Я делаю это, и у меня возникает стена ссылок. Что-то связанное с lib/libopencv_highgui.2.4.3.dylib Любые дополнительные указатели? – aaronsnoswell

+0

Когда я следую этому, он строит его в «динамически связанную библиотеку i386» Mach-O, а не 32-битную –

0

Вот что вы можете попробовать: скачать источники OpenCV 2.4 и отредактировать CMakeLists.txt в корневом каталоге. Вокруг линии 242 вы увидите:

# ---------------------------------------------------------------------------- 
# Path for build/platform -specific headers 
# ---------------------------------------------------------------------------- 
set(OPENCV_CONFIG_FILE_INCLUDE_DIR "${CMAKE_BINARY_DIR}/" CACHE PATH "Where to create the platform-dependant cvconfig.h") 
add_definitions(-DHAVE_CVCONFIG_H) 
ocv_include_directories(${OPENCV_CONFIG_FILE_INCLUDE_DIR}) 

ниже add_definitions() вызова, добавьте этот один:

add_definitions(-m32) 
2

У меня было трудно настроить библиотеки OpenCv на разных операционных системах. Оказывается, что эта вещь автоматически генерирует образец проекта, а затем расширяет бизнес-логику внутри него.

See the installation instructions here

2

Веб-сайт проекта OpenCV был значительно обновлен в прошлом году. Доступен новый tutorial section, я смог установить OpenCV на своем 32-битном ядре Mac OS Lion.

Очень классный учебник также доступен по адресу Sadeep's Tech Blog, охватывающий интересный диапазон деталей.

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