32-битный OpenCV на OS X Lion? Возможный?
Я уже несколько дней гуглю и пробую, пытаясь понять, как заставить 32-битный OpenCV работать на OS X Lion, но могу найти только 64-битную версию.
Итак, у меня есть следующие вопросы:
Библиотеки OpenCV поставляются в 32-битной или 64-битной арке, это правильно?
Как мне заставить 32-битный OpenCV работать на Lion? Я пробовал следующие способы: - Установить OpenCV через MacPorts: нет, MacPorts устанавливает 64-разрядную версию. Я удалил OpenCV и MacPorts.
- Установите OpenCV 2.4.1 через Homebrew, используя следующую команду:
brew установить opencv --build32
но похоже они тоже 64-битные. Удалены OpenCV и Homebrew.
- Установите OpenCV 2.4.1 самостоятельно, используя стандартные make-файлы Unix. Нет, они все еще выглядят как 64-битные.
Я написал "они выглядят как 64-битные", потому что я должен заменить OpenC в проекте Xcode, созданном под OS X Snow Leopard, предназначенном для 32-битного Mac, и я всегда получаю массу ошибок, таких как:
ld: warning: игнорировать файл /usr/local/Cellar/opencv/2.4.1/lib/libopencv_calib3d.2.4.1.dylib, файл создан для неподдерживаемого формата файлов, который не связан с архитектурой (i386)
так что я полагаю, что материал OpenCV является 64-битным. Если я вынуждаю проект работать в 64-битном режиме, он тереть, но не работает должным образом и застревает.
Есть ли стандартный способ проверить, являются ли мои библиотеки OpenCV 64-битными или 32-битными?
Где я могу получить 32-битный OpenCV?
4 ответа
Решил проблему.
Напомним: на 64-битном Mac OSX Lion можно иметь 32-битные библиотеки OpenCV.
Как?
Шаг 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: Наслаждайтесь!
Для получения дополнительной информации, пожалуйста, посетите Mac OS X OpenCV Port Page
Спасибо всем, что поставили меня на правильный путь:
@karlphilip: я пытался сделать так, как вы предлагали, но без опций make фаза компиляции не удалась, потому что архитектуры не согласованы.
@hamstergene: MacPorts застрял после новой установки, возможно, у меня есть некоторые остатки старой установки:( (странно, я следовал официальным инструкциям, чтобы удалить его).
@Adrien: Это то, что я сделал, но мне пришлось объединить 2 подхода:)
Веб-сайт проекта OpenCV был значительно обновлен в прошлом году. Доступен новый учебный раздел, я смог установить OpenCV на моем 32-битном ядре Mac OS Lion.
Очень технический урок также доступен в техническом блоге Sadeep и охватывает интересный спектр деталей.
Надеюсь это поможет!
У меня были трудности с настройкой библиотек OpenCv на разных ОС. Оказывается, что дело в автоматической генерации примера проекта, а затем в создании бизнес-логики внутри него.
Вот что вы можете попробовать: скачать исходные коды 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)