Как запустить приложение OSX с OpenCV на Mac без установленного OpenCV
Я разрабатываю приложение OSX в Objective-C и OpenCV-2.4.12, используя XCode. Я следовал этому руководству по установке и этому руководству по установке для интеграции OpenCV. В основном во втором видео автор использует динамические библиотеки OpenCV (файлы.dylib).
Это отлично работает на моем Mac, но на другом Mac без установленного OpenCV приложение выдает ошибку, и я не могу открыть и запустить его. Я искал и думаю, что решение состоит в том, чтобы использовать статические библиотеки (файлы.a). Но я не могу понять, как заменить динамические библиотеки статическими библиотеками.
Какие статические библиотеки мне нужно использовать? Где я их нахожу? Как я связываю их в Xcode?
Мои настройки прямо сейчас:
Я добавил в проект libopencv_core.2.4.12.dylib, libopencv_highgui.2.4.12.dylib, libopencv_imgproc.2.4.12.dylib.
В путях поиска, которые я имею (как объяснено во втором видео):
- Пути поиска в фреймворке: / usr / local / lib
- Пути поиска в заголовке: / usr / local / include
- Пути поиска в библиотеке: "OpenCVFolderPath" / build / lib
Спасибо.
1 ответ
Я склонен устанавливать OpenCV используя homebrew
и если я посмотрю на параметры, которые я могу указать для OpenCV версии 3, например:
brew options opencv3
Я получаю этот вывод:
--32-bit
Build 32-bit only
--c++11
Build using C++11 mode
--with-contrib
Build "extra" contributed modules
--with-cuda
Build with CUDA v7.0+ support
--with-examples
Install C and python examples (sources)
--with-ffmpeg
Build with ffmpeg support
...
...
--with-python3
Build with python3 support
--with-qt
Build the Qt4 backend to HighGUI
--with-qt5
Build the Qt5 backend to HighGUI
--with-quicktime
Use QuickTime for Video I/O instead of QTKit
--with-static <--- *** HERE ***
Build static libraries
--with-tbb
Enable parallel code in OpenCV using Intel TBB
--with-vtk
Build with vtk support
--without-eigen
Build without eigen support
--without-numpy
Use a numpy you've installed yourself instead of a Homebrew-packaged numpy
--without-opencl
Disable GPU code in OpenCV using OpenCL
--without-openexr
Build without openexr support
--without-python
Build without Python support
--without-test
Build without accuracy & performance tests
--HEAD
Install HEAD version
Итак, если я тогда продолжу и установлю так:
brew install opencv3 --with-static
Я в конечном итоге с этими статическими библиотеками, которые выглядят так, как вы хотите:
ls -l /usr/local/Cellar/opencv3/3.1.0_3/lib/
-r--r--r-- 1 mark admin 1922864 21 Jul 14:23 libopencv_calib3d.a
-r--r--r-- 1 mark admin 3215896 21 Jul 14:23 libopencv_core.a
-r--r--r-- 1 mark admin 965336 21 Jul 14:23 libopencv_features2d.a
-r--r--r-- 1 mark admin 650552 21 Jul 14:23 libopencv_flann.a
-r--r--r-- 1 mark admin 60016 21 Jul 14:23 libopencv_highgui.a
-r--r--r-- 1 mark admin 378128 21 Jul 14:23 libopencv_imgcodecs.a
-r--r--r-- 1 mark admin 3946248 21 Jul 14:23 libopencv_imgproc.a
-r--r--r-- 1 mark admin 954296 21 Jul 14:23 libopencv_ml.a
-r--r--r-- 1 mark admin 542808 21 Jul 14:23 libopencv_objdetect.a
-r--r--r-- 1 mark admin 1078504 21 Jul 14:23 libopencv_photo.a
-r--r--r-- 1 mark admin 269248 21 Jul 14:23 libopencv_shape.a
-r--r--r-- 1 mark admin 694056 21 Jul 14:23 libopencv_stitching.a
-r--r--r-- 1 mark admin 193416 21 Jul 14:23 libopencv_superres.a
-r--r--r-- 1 mark admin 478776 21 Jul 14:23 libopencv_video.a
-r--r--r-- 1 mark admin 149040 21 Jul 14:23 libopencv_videoio.a
-r--r--r-- 1 mark admin 390288 21 Jul 14:23 libopencv_videostab.a
drwxr-xr-x 3 mark admin 102 21 Jul 14:23 pkgconfig
drwxr-xr-x 3 mark admin 102 21 Jul 14:23 python2.7
Похоже, что с OpenCV2 не существует эквивалентной опции, хотя я не уверен, почему вы захотите использовать эту версию.