La libreria OpenCV non si installa dopo aver usato cmake

4

Uso Yosemite 10.10 e ho bisogno di creare e installare la libreria OpenCV usando cmake-gui. Sono stato in grado di configurare e generare facilmente i file binari. Ma quando provo a "fare" la libreria usando il terminale     %codice% nella cartella dei binari, ottengo il seguente errore:

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

Lo trovo in più punti in questo particolare file,

Inoltre ho specificato il compilatore per l'utilizzo di gcc / g ++ / gfortran fornito con MacPorts. È obbligatorio utilizzare il compilatore MacPorts btw.

Qualcuno può farmi sapere cosa posso fare?

    
posta Srihari S 18.11.2014 - 10:47
fonte

2 risposte

4

Mi dispiace ma potrei sistemarlo da solo. In Cmake GUI WITH, ho appena attivato WITH_OPENMP .

Lascio questa domanda qui però nel caso in cui qualcun altro debba affrontare lo stesso problema in seguito.

    
risposta data 18.11.2014 - 11:14
fonte
1

Aggiungerò un'altra risposta, piggyback sulla tua, ma nel caso in cui qualcuno non usi la cmake gui. In questo caso, se vuoi abilitare WITH_OPENMP guarda in opencv-2.4.10/CMakeLists.txt . Cerca OpenMP e modifica questa riga e modifica OFF in ON .

OCV_OPTION(WITH_OPENMP         "Include OpenMP support"                      ON)
    
risposta data 13.01.2015 - 06:07
fonte

Leggi altre domande sui tag