ไลบรารี OpenCV ไม่ได้ติดตั้งหลังจากใช้ cmake


4

ฉันใช้โยเซมิตี 10.10 และฉันจำเป็นต้องสร้างและติดตั้งไลบรารี OpenCV โดยใช้ cmake-gui ฉันสามารถกำหนดค่าและสร้างไบนารีได้อย่างง่ายดาย แต่เมื่อฉันพยายาม 'สร้าง' ไลบรารีโดยใช้เทอร์มินัล sudo make -j4 ในโฟลเดอร์ไบนารีฉันได้รับข้อผิดพลาดดังต่อไปนี้ -

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

ฉันได้มันมาหลายที่ในไฟล์นี้

ฉันยังระบุคอมไพเลอร์สำหรับการใช้ gcc / g ++ / gfortran ที่มาพร้อมกับ MacPorts เป็นข้อบังคับที่ฉันใช้คอมไพเลอร์ MacPorts btw

ใครช่วยให้ฉันรู้ว่าฉันสามารถทำอะไรได้บ้าง

คำตอบ:


4

ฉันขอโทษ แต่ฉันสามารถแก้ไขได้ด้วยตัวเอง ใน CMake GUI WITH_OPENMPกับฉันเพียงแค่เปิดใช้งาน

ฉันออกจากคำถามนี้ที่นี่ แต่ในกรณีที่คนอื่นประสบปัญหาเดียวกันในภายหลัง


1

ฉันจะเพิ่มคำตอบอื่นให้ piggybacking กับคุณ แต่ในกรณีที่มีคนไม่ได้ใช้ cmake gui ในกรณีนี้หากคุณต้องการเปิดใช้งานดูในWITH_OPENMP opencv-2.4.10/CMakeLists.txtค้นหาOpenMPและแก้ไขบรรทัดนี้และเปลี่ยนไปOFFON

OCV_OPTION(WITH_OPENMP         "Include OpenMP support"                      ON)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.