How to compile OpenCV 2.4.0 (beta2) by Cmake on Ma

2019-07-26 16:46发布

问题:

I want to use Opencv 2.4.0 (beta2) together with EmguCV and MonoDevelop on my Mac OS X Lion system. But I failed to compile the OpenCV 2.4.0 by Cmake and it shows lacking of some dylib files of highgui.

Anybody can tell me the whole configuration and process to compile OpenCV 2.4.0 in Mac OS X? Thanks.

回答1:

To eliminate the error concerning the sphinx package for python, install it using

sudo easy_install -U Sphinx

OR if you use MacPorts:

sudo port install py26-sphinx

Before check the version of the default python interpreter "python --version". In my example it is 2.6.



回答2:

I downloaded OpenCV 2.4.0 sources from the repository (rev 8301) and I had no problems compiling it on Mac OS X 10.7.3:

$ svn info
Path: .
URL: http://code.opencv.org/svn/opencv/tags/2.4.0/opencv
Repository Root: http://code.opencv.org/svn/opencv
Repository UUID: c5418bc3-7546-4aae-8bad-fa6f2f3e53e6
Revision: 8301
Node Kind: directory
Schedule: normal
Last Changed Author: marina.kolpakova
Last Changed Rev: 8282
Last Changed Date: 2012-04-30 16:06:37 -0300 (Mon, 30 Apr 2012)

$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..

-- The CXX compiler identification is GNU
-- The C compiler identification is GNU
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detected version of GNU GCC: 42 (402)
-- Extracting svn version, please wait...
-- SVNVERSION:  svn:8301
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - failed
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for assert.h
-- Looking for assert.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for io.h
-- Looking for io.h - not found
-- Looking for jbg_newlen
-- Looking for jbg_newlen - not found
-- Looking for mmap
-- Looking for mmap - found
-- Looking for search.h
-- Looking for search.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- checking for module 'libavcodec'
--   found libavcodec, version 52.76.0
-- checking for module 'libavformat'
--   found libavformat, version 52.68.0
-- checking for module 'libavutil'
--   found libavutil, version 50.19.0
-- checking for module 'libswscale'
--   found libswscale, version 0.11.0
-- Looking for libavformat/avformat.h
-- Looking for libavformat/avformat.h - found
-- Looking for ffmpeg/avformat.h
-- Looking for ffmpeg/avformat.h - not found
-- checking for module 'libdc1394-2'
--   package 'libdc1394-2' not found
-- checking for module 'libdc1394'
--   package 'libdc1394' not found
-- Found PythonInterp: /usr/bin/python (found suitable version "2.7.1", required is "2.0")
-- Found PythonLibs: /usr/lib/libpython2.7.dylib (Required is at least version "2.7.1")
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named sphinx
-- Could NOT find CUDA: Found unsuitable version "4.0", but required is at least "4.1" (found /usr/local/cuda)
-- 
-- General configuration for OpenCV 2.4.0 =====================================
-- Version control:                 svn:8301
-- 
--   Platform:
--     Host:                        Darwin 11.3.0 i386
--     CMake:                       2.8.6
--     CMake generator:             Unix Makefiles
--     CMake build tool:            /usr/bin/make
--     Configuration:               RELEASE
-- 
--   C/C++:
--     Built as dynamic libs?:      YES
--     C++ Compiler:                /usr/bin/c++ (ver 4.2.1)
--     C++ flags (Release):         -Wall -pthread -fomit-frame-pointer -msse -msse2 -O3 -DNDEBUG   -DNDEBUG
--     C++ flags (Debug):           -Wall -pthread -fomit-frame-pointer -msse -msse2 -g  -O0 -DDEBUG -D_DEBUG -ggdb3
--     C Compiler:                  /usr/bin/gcc
--     C flags (Release):           -Wall -pthread -fomit-frame-pointer -msse -msse2 -O3 -DNDEBUG  -DNDEBUG
--     C flags (Debug):             -Wall -pthread -fomit-frame-pointer -msse -msse2 -g  -O0 -DDEBUG -D_DEBUG -ggdb3
--     Linker flags (Release):      
--     Linker flags (Debug):        
-- 
--   OpenCV modules:
--     To be built:                 calib3d contrib core features2d flann gpu highgui imgproc legacy ml nonfree objdetect photo python stitching ts video videostab
--     Disabled by user:            -
--     Disabled by dependency:      -
--     Unavailable:                 androidcamera java
-- 
--   GUI: 
--     Cocoa:                       YES
--     OpenGL support:              NO
-- 
--   Media I/O: 
--     ZLib:                        build (ver 1.2.6)
--     JPEG:                        build (ver 62)
--     PNG:                         build (ver 1.5.9)
--     TIFF:                        build (ver 42)
--     JPEG 2000:                   build (ver 1.900.1)
--     OpenEXR:                     NO
--     OpenNI:                      NO
--     OpenNI PrimeSensor Modules:  NO
-- 
--   Video I/O:                     QTKit
--     FFMPEG:                      YES
--       codec:                     YES (ver Unknown)
--       format:                    YES (ver Unknown)
--       util:                      YES (ver Unknown)
--       swscale:                   YES (ver Unknown)
--       gentoo-style:              YES
-- 
--   Other third-party libraries:
--     Use IPP:                     NO
--     Use TBB:                     NO
--     Use Cuda:                    NO
--     Use Eigen:                   NO
-- 
--   Python:
--     Interpreter:                 /usr/bin/python (ver 2.7.1)
--     Libraries:                   /usr/lib/libpython2.7.dylib
--     numpy:                       /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include (ver 1.5.1)
--     packages path:               lib/python2.7/site-packages
-- 
--   Documentation:
--     Build Documentation:         NO
--     Sphinx:                      NO
--     PdfLaTeX compiler:           NO
-- 
--   Tests and samples:
--     Tests:                       YES
--     Performance tests:           YES
--     Examples:                    YES
-- 
--   Install path:                  /usr/local
-- 
--   cvconfig.h is in:              /Users/karlphillip/installers/OpenCV-2.4.0/opencv/build
-- -----------------------------------------------------------------
-- 
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_PYTHON_SUPPORT


-- Build files have been written to: /Users/karlphillip/installers/OpenCV-2.4.0/opencv/build

After that, I executed make to compile and that's it.