OpenCV-Bibliothek wird nach Verwendung von cmake nicht installiert

Ich verwende Yosemite 10.10 und muss die OpenCV-Bibliothek mit cmake-gui erstellen und installieren. Ich konnte die Binärdateien problemlos konfigurieren und generieren. Aber wenn ich versuche, die Bibliothek mit dem Terminal sudo make -j4im Binärordner zu "erstellen", erhalte ich die folgende Fehlermeldung -

Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/parallel.cpp.o
In file included from /usr/include/os/object.h:27:0,
             from /usr/include/dispatch/dispatch.h:48,
             from /Users/imecindia/Desktop/Downloaded Libraries/opencv-3.0.0-beta/modules/core/src/parallel.cpp:106:
/usr/include/os/base.h:113:20: error: missing binary operator before token "("
#if __has_extension(attribute_overloadable)
                ^
/usr/include/os/base.h:119:54: error: missing binary operator before token "("
#if __has_feature(objc_fixed_enum) || __has_extension(cxx_strong_enums)
                                                  ^
[ 45%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/pca.cpp.o
In file included from /usr/include/dispatch/dispatch.h:51:0,
             from /Users/imecindia/Desktop/Downloaded Libraries/opencv-3.0.0-beta/modules/core/src/parallel.cpp:106:
/usr/include/dispatch/object.h:325:20: error: missing binary operator before token "("
#if __has_extension(c_generic_selections)
                ^
/usr/include/dispatch/object.h:363:20: error: missing binary operator before token "("
#if __has_extension(c_generic_selections)
                ^
/usr/include/dispatch/object.h:391:20: error: missing binary operator before token "("
#if __has_extension(c_generic_selections)
                ^
/usr/include/dispatch/object.h:423:20: error: missing binary operator before token "("
#if __has_extension(c_generic_selections)
                ^
/usr/include/dispatch/object.h:143:15: error: expected unqualified-id before '^' token
typedef void (^dispatch_block_t)(void);
           ^
/usr/include/dispatch/object.h:143:15: error: expected ')' before '^' token
/usr/include/dispatch/object.h:362:3: error: 'dispatch_block_t' has not been declared
dispatch_block_t notification_block);
^
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/parallel.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2

Ich bekomme das an mehreren Stellen in dieser bestimmten Datei,

Außerdem habe ich den Compiler für die Verwendung von gcc/g++/gfortran angegeben, der mit MacPorts geliefert wurde. Es ist obligatorisch, dass ich übrigens den MacPorts-Compiler verwende.

Kann mir jemand sagen, was ich tun kann?

Antworten (2)

Tut mir leid, aber ich könnte es selbst reparieren. In Cmake GUI WITH habe ich gerade WITH_OPENMP.

Ich lasse diese Frage hier, nur für den Fall, dass später jemand anderes mit dem gleichen Problem konfrontiert ist.

Ich werde eine weitere Antwort hinzufügen, die auf Ihrer huckepack geht, aber für den Fall, dass jemand die cmake-GUI nicht verwendet. WITH_OPENMPIn diesem Fall, Wenn Sie Look in aktivieren möchten opencv-2.4.10/CMakeLists.txt. Suchen OpenMPund bearbeiten Sie diese Zeile und wechseln Sie OFFzu ON.

OCV_OPTION(WITH_OPENMP         "Include OpenMP support"                      ON)