如何在没有安装OpenCV的mac上运行带有OpenCV的OSX应用程序



我正在Objective-C和OpenCV-2.4.12中使用Xcode开发一个OSX应用程序。我遵循了这个安装视频指南和这个设置视频指南来集成OpenCV。基本上在第二个视频中,作者使用了OpenCV动态库(.dlib文件)。

这在我的mac上运行得很好,但在另一台没有安装OpenCV的mac上,应用程序出现错误,我无法打开并运行它。我已经搜索过了,我认为解决方案是使用静态库(.a文件)。但是我不知道如何用静态库替换动态库。

我需要使用哪些静态库?我在哪里找到它们?如何在Xcode中链接它们?

我现在的设置:

我在项目中添加了libopencv_core.2.4.12.dyliblibopencv_higgui.2.4.12.dyliblibopenc_imgproc.2.4.12.dylib

在我的搜索路径(如第二个视频中所解释的):

  • 框架搜索路径:/usr/local/lib
  • 标题搜索路径:/usr/local/include
  • 库搜索路径: "OpenCVFolderPath"/build/lib

谢谢。

我倾向于使用homebrew安装OpenCV,如果我查看可以为OpenCV Version 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似乎没有等效的选项,尽管我不确定你为什么要使用那个版本。

相关内容

  • 没有找到相关文章