Не удается создать среду OpenCV для iOS

У меня возникают проблемы с созданием структуры.

Я клонировал копию OpenCV отсюда: https://github.com/Itseez/opencv

Затем проверили, что у меня есть последний cmake 2.8.10.2

Затем запустите файл build_framework.py в папке iOS.

например

./opencv/ios/build_framework.py opencv-ios-build 

Результатом этого является:

 -- Setting up iPhoneOS toolchain -- iPhoneOS toolchain loaded -- Setting up iPhoneOS toolchain -- iPhoneOS toolchain loaded -- The CXX compiler identification is Clang 4.2.0 -- The C compiler identification is Clang 4.2.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - failed -- Detecting C compiler ABI info -- Detecting C compiler ABI info - failed -- Performing Test HAVE_CXX_W -- Performing Test HAVE_CXX_W - Failed -- Performing Test HAVE_C_W -- Performing Test HAVE_C_W - Failed -- Performing Test HAVE_CXX_WALL -- Performing Test HAVE_CXX_WALL - Failed -- Performing Test HAVE_C_WALL -- Performing Test HAVE_C_WALL - Failed -- Performing Test HAVE_CXX_WERROR_RETURN_TYPE -- Performing Test HAVE_CXX_WERROR_RETURN_TYPE - Failed -- Performing Test HAVE_C_WERROR_RETURN_TYPE -- Performing Test HAVE_C_WERROR_RETURN_TYPE - Failed -- Performing Test HAVE_CXX_WERROR_NON_VIRTUAL_DTOR -- Performing Test HAVE_CXX_WERROR_NON_VIRTUAL_DTOR - Failed ... -- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "2.0") -- Performing Test HAVE_CXX_WNO_UNDEF -- Performing Test HAVE_CXX_WNO_UNDEF - Failed -- Performing Test HAVE_CXX_WNO_SIGN_PROMO -- Performing Test HAVE_CXX_WNO_SIGN_PROMO - Failed -- Performing Test HAVE_CXX_WNO_MISSING_DECLARATIONS -- Performing Test HAVE_CXX_WNO_MISSING_DECLARATIONS - Failed -- Performing Test HAVE_CXX_WNO_MISSING_PROTOTYPES -- Performing Test HAVE_CXX_WNO_MISSING_PROTOTYPES - Failed -- Performing Test HAVE_OBJCXX_FOBJC_EXCEPTIONS -- Performing Test HAVE_OBJCXX_FOBJC_EXCEPTIONS - Failed -- Performing Test HAVE_CXX_WNO_DEPRECATED_DECLARATIONS -- Performing Test HAVE_CXX_WNO_DEPRECATED_DECLARATIONS - Failed -- -- General configuration for OpenCV 2.4.9 ===================================== -- Version control: unknown -- -- Platform: -- Host: Darwin 12.3.0 i386 -- Target: iOS -- CMake: 2.8.10.2 -- CMake generator: Xcode -- CMake build tool: /Applications/CMake 2.8-10.app/Contents/bin/cmakexbuild -- Xcode: 4.6.1 -- -- C/C++: -- Built as dynamic libs?: NO -- C++ Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ (ver 4.2.0) -- C++ flags (Release): -stdlib=libc++ -headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -DNDEBUG -O3 -fomit-frame-pointer -ffast-math -DNDEBUG -- C++ flags (Debug): -stdlib=libc++ -headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -g -O0 -DDEBUG -D_DEBUG -ggdb3 -- C Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -- C flags (Release): -fPIC -O3 -DNDEBUG -DNDEBUG -- C flags (Debug): -fPIC -g -O0 -DDEBUG -D_DEBUG -ggdb3 -- Linker flags (Release): -- Linker flags (Debug): -- Precompiled headers: NO -- -- OpenCV modules: -- To be built: core imgproc flann highgui features2d calib3d ml video objdetect contrib legacy nonfree photo softcascade stitching videostab world -- Disabled: - -- Disabled by dependency: - -- Unavailable: androidcamera gpu java ocl python superres ts -- -- GUI: -- Cocoa: YES -- OpenGL support: NO -- -- Media I/O: -- ZLib: build (ver 1.2.7) -- JPEG: build (ver 90) -- WEBP: NO -- PNG: build (ver 1.5.12) -- TIFF: NO -- JPEG 2000: NO -- OpenEXR: NO -- -- Video I/O: -- AVFoundation: YES -- QuickTime: NO -- QTKit: YES -- V4L/V4L2: NO/NO -- -- Other third-party libraries: -- Use IPP: NO -- Use Eigen: NO -- Use TBB: NO -- Use OpenMP: NO -- Use GCD YES -- Use Concurrency NO -- Use C=: NO -- Use Cuda: NO -- Use OpenCL: NO -- -- Python: -- Interpreter: NO -- -- Java: -- ant: NO -- JNI: NO -- Java tests: NO -- -- Documentation: -- Build Documentation: NO -- Sphinx: NO -- PdfLaTeX compiler: NO -- -- Tests and samples: -- Tests: NO -- Performance tests: NO -- C/C++ Examples: NO -- -- Install path: /Users/Ants/Dev/iOS/opencv-ios-build/build/iPhoneOS-armv7/install -- -- cvconfig.h is in: /Users/Ants/Dev/iOS/opencv-ios-build/build/iPhoneOS-armv7 -- ----------------------------------------------------------------- -- -- Configuring done -- Generating done -- Build files have been written to: /Users/Ants/Dev/iOS/opencv-ios-build/build/iPhoneOS-armv7 

Но он создает проекты Xcode.

Процесс продолжает запускать компиляции, но это не работает на rand.cpp в ядре opencv

  /Users/Ants/Dev/iOS/opencv/modules/core/src/rand.cpp:758:8: error: unknown type name 'pthread_key_t'; did you mean 'pthread_attr_t'? static pthread_key_t tlsRNGKey = 0; ^~~~~~~~~~~~~ pthread_attr_t /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include/sys/signal.h:157:34: note: 'pthread_attr_t' declared here typedef __darwin_pthread_attr_t pthread_attr_t; ^ /Users/Ants/Dev/iOS/opencv/modules/core/src/rand.cpp:758:22: error: no viable conversion from 'int' to 'pthread_attr_t' (aka '_opaque_pthread_attr_t') static pthread_key_t tlsRNGKey = 0; ^ ~ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include/sys/_types.h:64:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'int' to 'const _opaque_pthread_attr_t &' for 1st argument struct _opaque_pthread_attr_t { long __sig; char __opaque[__PTHREAD_ATTR_SIZE__]; }; ^ /Users/Ants/Dev/iOS/opencv/modules/core/src/rand.cpp:759:8: error: unknown type name 'pthread_once_t'; did you mean 'pthread_attr_t'? static pthread_once_t tlsRNGKeyOnce = PTHREAD_ONCE_INIT; ^~~~~~~~~~~~~~ pthread_attr_t /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include/sys/signal.h:157:34: note: 'pthread_attr_t' declared here typedef __darwin_pthread_attr_t pthread_attr_t; ^ /Users/Ants/Dev/iOS/opencv/modules/core/src/rand.cpp:759:39: error: use of undeclared identifier 'PTHREAD_ONCE_INIT' static pthread_once_t tlsRNGKeyOnce = PTHREAD_ONCE_INIT; ^ /Users/Ants/Dev/iOS/opencv/modules/core/src/rand.cpp:774:5: error: use of undeclared identifier 'pthread_once' pthread_once(&tlsRNGKeyOnce, makeRNGKey); ^ 5 errors generated. 

Есть идеи?

2 Solutions collect form web for “Не удается создать среду OpenCV для iOS”

Ключ находится в строке:

-- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "2.0")

Я работал над этим, отредактировав файл build_framework.py , добавив путь к python в раздел cmakeargs (строка 39):

 cmakeargs = ("-GXcode " + "-DPYTHON_EXECUTABLE=/usr/bin/python " + "-DCMAKE_BUILD_TYPE=Release " + "-DCMAKE_TOOLCHAIN_FILE=%s/ios/cmake/Toolchains/Toolchain-%s_Xcode.cmake" + "-DBUILD_opencv_world=ON " + "-DCMAKE_INSTALL_PREFIX=install") % (srcroot, target) 

Альтернативно (и это быстрее, чем компиляция с нуля) используйте cocoapods для установки зависимости вместо этого.

Похоже, вам не хватает библиотеки для pthreads или, возможно, #include

В этой статье дается хороший обзор их использования в OS X. http://www.drdobbs.com/parallel/mastering-threads-on-macos-x/232602177

  • Установка линии - MatLab не согласен с OpenCV
  • Максимальная скорость от IOS / iPad / iPhone
  • Учебник для iPhone OpenCV по распознаванию формы
  • Фотобумага в iOS. Использование OpenCV или OpenGL ES?
  • замените все красные пиксели в изображении яблока зеленым зеленым цветом, включая градиентные красные ios
  • Как создать OpenCV 2.4.9 для iOS?
  • OpenCRV Adaptive Threshold OCR
  • Использование HoughCircles для обнаружения и измерения зрачка и радужки
  • Обнаружение верхней части тела с помощью OpenCV
  • Файл opencv2 / opencv.hpp не найден в Xcode
  • прозрачное изображение opencv ios загружено без прозрачности
  • OpenCV 2.4.3+ с libstdc ++ для iOS?
  • Interesting Posts

    AudioStream от Matt Gallagher: как обращаться с контроллером просмотра pop

    HTML-карты изображений, не работающие на iOS с 10.3

    Проверка приложения. Вы должны предоставить приложение для загрузки файлов с яблоком в хранилище приложений.

    iOS 6 – viewDidUnload перейти на didReceiveMemoryWarning?

    выполнить блокировку iOS и присвоить переменную

    Как я могу настроить CocoaPods на использование https://github.com/RestKit/cocoa-oauth вместо устаревшего?

    iOS (Apple): Есть ли способ, по которому приложение может запросить ОС блокировать устройство в этом приложении?

    Анимация фонового изображения UIButton

    Добавить Cocos2D для проекта в xCode 4

    AVplayer полностью удаляет видео из памяти

    Что эквивалентно NSUserDefaults на Windows Phone 8 (C #)

    Получить IP-адрес на Monotouch / Xamarin в iphone через linq

    Пользовательские анимации UIViewController и модальные режимы презентации

    locationManager устарел в Swift 3?

    Должен ли я освобождать переменные экземпляра и свойства в dealloc?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.