Cocoapods: linked error when using pods and opencv framewrok

Created on 23 Mar 2015  路  3Comments  路  Source: CocoaPods/CocoaPods

I am using opencv in my iOS project. It is encounter linked error shows below, it works well if I create a clean project with single view controller. Once I use pods to dependence any lib like AFNetworking, it will build fail with linked error.

The way here is not worked for me

I try to used either this guide or download directly to install opencv, but still failed with same error

Linked error:

Undefined symbols for architecture arm64:
  "_jpeg_free_small", referenced from:
      _free_pool in opencv2(jmemmgr.o)
      _self_destruct in opencv2(jmemmgr.o)
  "_jpeg_mem_available", referenced from:
      _realize_virt_arrays in opencv2(jmemmgr.o)
  "_jpeg_open_backing_store", referenced from:
      _realize_virt_arrays in opencv2(jmemmgr.o)
  "_jpeg_get_small", referenced from:
      _jinit_memory_mgr in opencv2(jmemmgr.o)
      _alloc_small in opencv2(jmemmgr.o)
  "_jpeg_mem_term", referenced from:
      _jinit_memory_mgr in opencv2(jmemmgr.o)
      _self_destruct in opencv2(jmemmgr.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*, unsigned long)", referenced from:
      cv::BaseImageEncoder::throwOnEror() const in opencv2(grfmt_base.o)
  "vtable for __cxxabiv1::__enum_type_info", referenced from:
      typeinfo for cv::$_0 in opencv2(grfmt_pxm.o)
      typeinfo for cv::$_0 in opencv2(bitstrm.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "___cxa_rethrow", referenced from:
      std::__1::deque<char, std::__1::allocator<char> >::__add_back_capacity() in opencv2(persistence.o)
  "___cxa_end_catch", referenced from:
      icvReadSeq(CvFileStorage*, CvFileNode*) in opencv2(persistence.o)
      std::__1::deque<char, std::__1::allocator<char> >::__add_back_capacity() in opencv2(persistence.o)
      cv::BmpDecoder::readHeader() in opencv2(grfmt_bmp.o)
      cv::BmpDecoder::readData(cv::Mat&) in opencv2(grfmt_bmp.o)
      cv::PxMDecoder::readHeader() in opencv2(grfmt_pxm.o)
      cv::PxMDecoder::readData(cv::Mat&) in opencv2(grfmt_pxm.o)
      cv::SunRasterDecoder::readHeader() in opencv2(grfmt_sunras.o)
      ...
  "typeinfo for std::exception", referenced from:
      typeinfo for cv::Exception in opencv2(system.o)
  "___cxa_allocate_exception", referenced from:
      cv::error(cv::Exception const&) in opencv2(system.o)
      cv::PxMDecoder::readHeader() in opencv2(grfmt_pxm.o)
      cv::RBaseStream::readBlock() in opencv2(bitstrm.o)
  "___cxa_free_exception", referenced from:
      cv::error(cv::Exception const&) in opencv2(system.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      cv::Exception::formatMessage() in opencv2(system.o)
      cv::BaseImageDecoder::setSource(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in opencv2(grfmt_base.o)
      cv::BaseImageDecoder::setSource(cv::Mat const&) in opencv2(grfmt_base.o)
      cv::BaseImageEncoder::setDestination(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in opencv2(grfmt_base.o)
      cv::BaseImageEncoder::setDestination(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >&) in opencv2(grfmt_base.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      cv::Exception::Exception(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in opencv2(system.o)
      cv::Exception::Exception(cv::Exception const&) in opencv2(system.o)
      cv::BaseImageEncoder::getDescription() const in opencv2(grfmt_base.o)
  "_jpeg_mem_init", referenced from:
      _jinit_memory_mgr in opencv2(jmemmgr.o)
  "___cxa_guard_acquire", referenced from:
      cv::gpu::GpuMat::create(int, int, int) in opencv2(gpumat.o)
      cv::gpu::GpuMat::release() in opencv2(gpumat.o)
      cv::MatExpr::size() const in opencv2(matop.o)
      cv::MatExpr::type() const in opencv2(matop.o)
  "vtable for __cxxabiv1::__class_type_info", referenced from:
      typeinfo for cv::_InputArray in opencv2(matrix.o)
      typeinfo for cv::ParallelLoopBody in opencv2(parallel.o)
      typeinfo for GpuFuncTable in opencv2(gpumat.o)
      typeinfo for cv::MatOp in opencv2(matop.o)
      typeinfo for cv::RBaseStream in opencv2(bitstrm.o)
      typeinfo for cv::WBaseStream in opencv2(bitstrm.o)
      typeinfo for cv::BaseImageDecoder in opencv2(grfmt_base.o)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "std::exception::~exception()", referenced from:
      cv::Exception::Exception(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in opencv2(system.o)
      cv::Exception::~Exception() in opencv2(system.o)
      cv::Exception::Exception(cv::Exception const&) in opencv2(system.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::assign(char const*)", referenced from:
      cv::BmpDecoder::BmpDecoder() in opencv2(grfmt_bmp.o)
      cv::BmpEncoder::BmpEncoder() in opencv2(grfmt_bmp.o)
      cv::PngDecoder::PngDecoder() in opencv2(grfmt_png.o)
      cv::PngDecoder::newDecoder() const in opencv2(grfmt_png.o)
      cv::PngEncoder::PngEncoder() in opencv2(grfmt_png.o)
      cv::PxMEncoder::PxMEncoder() in opencv2(grfmt_pxm.o)
      cv::JpegDecoder::JpegDecoder() in opencv2(grfmt_jpeg.o)
      ...
  "vtable for __cxxabiv1::__si_class_type_info", referenced from:
      typeinfo for cv::_OutputArray in opencv2(matrix.o)
      typeinfo for cv::CvtColorLoop_Invoker<cv::mRGBA2RGBA<unsigned char> > in opencv2(color.o)
      typeinfo for cv::CvtColorLoop_Invoker<cv::RGBA2mRGBA<unsigned char> > in opencv2(color.o)
      typeinfo for cv::YUV422toRGBA8888Invoker<2, 1, 1> in opencv2(color.o)
      typeinfo for cv::YUV422toRGBA8888Invoker<2, 1, 0> in opencv2(color.o)
      typeinfo for cv::YUV422toRGBA8888Invoker<2, 0, 1> in opencv2(color.o)
      typeinfo for cv::YUV422toRGBA8888Invoker<2, 0, 0> in opencv2(color.o)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "___cxa_begin_catch", referenced from:
      ___clang_call_terminate in opencv2(cap_avfoundation.o)
      icvReadSeq(CvFileStorage*, CvFileNode*) in opencv2(persistence.o)
      std::__1::deque<char, std::__1::allocator<char> >::__add_back_capacity() in opencv2(persistence.o)
      cv::BmpDecoder::readHeader() in opencv2(grfmt_bmp.o)
      cv::BmpDecoder::readData(cv::Mat&) in opencv2(grfmt_bmp.o)
      cv::PxMDecoder::readHeader() in opencv2(grfmt_pxm.o)
      cv::PxMDecoder::readData(cv::Mat&) in opencv2(grfmt_pxm.o)
      ...
  "_AVLayerVideoGravityResizeAspectFill", referenced from:
      -[CvAbstractCamera createVideoPreviewLayer] in opencv2(cap_ios_abstract_camera.o)
  "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
      std::__1::vector<cv::Vec<int, 128>, std::__1::allocator<cv::Vec<int, 128> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 64>, std::__1::allocator<cv::Vec<int, 64> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 32>, std::__1::allocator<cv::Vec<int, 32> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 16>, std::__1::allocator<cv::Vec<int, 16> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 12>, std::__1::allocator<cv::Vec<int, 12> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 9>, std::__1::allocator<cv::Vec<int, 9> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 8>, std::__1::allocator<cv::Vec<int, 8> > >::__append(unsigned long) in opencv2(matrix.o)
      ...
  "operator new(unsigned long)", referenced from:
      std::__1::vector<cv::Vec<int, 128>, std::__1::allocator<cv::Vec<int, 128> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 64>, std::__1::allocator<cv::Vec<int, 64> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 32>, std::__1::allocator<cv::Vec<int, 32> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 16>, std::__1::allocator<cv::Vec<int, 16> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 12>, std::__1::allocator<cv::Vec<int, 12> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 9>, std::__1::allocator<cv::Vec<int, 9> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 8>, std::__1::allocator<cv::Vec<int, 8> > >::__append(unsigned long) in opencv2(matrix.o)
      ...
  "_OBJC_CLASS_$_AVAssetWriterInput", referenced from:
      objc-class-ref in opencv2(cap_avfoundation.o)
      objc-class-ref in opencv2(cap_ios_video_camera.o)
  "___cxa_guard_release", referenced from:
      cv::gpu::GpuMat::create(int, int, int) in opencv2(gpumat.o)
      cv::gpu::GpuMat::release() in opencv2(gpumat.o)
      cv::MatExpr::size() const in opencv2(matop.o)
      cv::MatExpr::type() const in opencv2(matop.o)
  "___cxa_pure_virtual", referenced from:
      vtable for cv::BaseImageDecoder in opencv2(grfmt_base.o)
      vtable for cv::BaseImageEncoder in opencv2(grfmt_base.o)
  "operator delete(void*)", referenced from:
      cv::_OutputArray::create(int, int const*, int, int, bool, int) const in opencv2(matrix.o)
      cv::_OutputArray::release() const in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 128>, std::__1::allocator<cv::Vec<int, 128> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 64>, std::__1::allocator<cv::Vec<int, 64> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 32>, std::__1::allocator<cv::Vec<int, 32> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 16>, std::__1::allocator<cv::Vec<int, 16> > >::__append(unsigned long) in opencv2(matrix.o)
      std::__1::vector<cv::Vec<int, 12>, std::__1::allocator<cv::Vec<int, 12> > >::__append(unsigned long) in opencv2(matrix.o)
      ...
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long, unsigned long)", referenced from:
      cv::BaseImageEncoder::throwOnEror() const in opencv2(grfmt_base.o)
  "___cxa_call_unexpected", referenced from:
      cv::_InputArray::getMatVector(std::__1::vector<cv::Mat, std::__1::allocator<cv::Mat> >&) const in opencv2(matrix.o)
      cv::_OutputArray::release() const in opencv2(matrix.o)
      std::__1::vector<cv::Mat, std::__1::allocator<cv::Mat> >::resize(unsigned long) in opencv2(matrix.o)
      std::__1::__split_buffer<cv::Mat, std::__1::allocator<cv::Mat>&>::~__split_buffer() in opencv2(matrix.o)
      cv::Exception::~Exception() in opencv2(system.o)
      cv::ImageCodecInitializer::~ImageCodecInitializer() in opencv2(loadsave.o)
      cv::ImageCodecInitializer::ImageCodecInitializer() in opencv2(loadsave.o)
      ...
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
      cv::Mat::create(int, int const*, int) in opencv2(matrix.o)
      cv::setSize(cv::Mat&, int, int const*, unsigned long const*, bool) in opencv2(matrix.o)
      cv::Mat::Mat(cv::Mat const&, cv::Range const&, cv::Range const&) in opencv2(matrix.o)
      cv::Mat::Mat(cv::Mat const&, cv::Range const*) in opencv2(matrix.o)
      cv::Mat::diag(int) const in opencv2(matrix.o)
      cv::Mat::Mat(_IplImage const*, bool) in opencv2(matrix.o)
      cv::Mat::reserve(unsigned long) in opencv2(matrix.o)
      ...
  "_AVCaptureSessionPresetHigh", referenced from:
      -[CvAbstractCamera updateSize] in opencv2(cap_ios_abstract_camera.o)
  "operator delete[](void*)", referenced from:
      cv::Mat::Mat(cv::Mat const&, cv::Range const&, cv::Range const&) in opencv2(matrix.o)
      cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int) in opencv2(color.o)
      cv::flipHoriz(unsigned char const*, unsigned long, unsigned char*, unsigned long, cv::Size_<int>, unsigned long) in opencv2(copy.o)
      cv::mixChannels(cv::Mat const*, unsigned long, cv::Mat*, unsigned long, int const*, unsigned long) in opencv2(convert.o)
      cv::binary_op(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, cv::_InputArray const&, void (* const*)(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, cv::Size_<int>, void*), bool) in opencv2(arithm.o)
      cv::arithm_op(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, cv::_InputArray const&, int, void (**)(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, cv::Size_<int>, void*), bool, void*) in opencv2(arithm.o)
      cv::compare(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, int) in opencv2(arithm.o)
      ...
  "_AVCaptureSessionPresetMedium", referenced from:
      -[CvAbstractCamera updateSize] in opencv2(cap_ios_abstract_camera.o)
  "_AVCaptureSessionPresetLow", referenced from:
      -[CvAbstractCamera createCaptureSession] in opencv2(cap_ios_abstract_camera.o)
      -[CvAbstractCamera updateSize] in opencv2(cap_ios_abstract_camera.o)
  "_jpeg_get_large", referenced from:
      _alloc_large in opencv2(jmemmgr.o)
      _alloc_barray in opencv2(jmemmgr.o)
  "_AVCaptureSessionPreset352x288", referenced from:
      -[CvAbstractCamera init] in opencv2(cap_ios_abstract_camera.o)
      -[CvAbstractCamera updateSize] in opencv2(cap_ios_abstract_camera.o)
  "_OBJC_CLASS_$_ALAssetsLibrary", referenced from:
      objc-class-ref in opencv2(cap_ios_video_camera.o)
  "_OBJC_CLASS_$_AVAssetWriter", referenced from:
      objc-class-ref in opencv2(cap_avfoundation.o)
      objc-class-ref in opencv2(cap_ios_video_camera.o)
  "_CMSampleBufferGetPresentationTimeStamp", referenced from:
      -[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
  "std::terminate()", referenced from:
      ___clang_call_terminate in opencv2(cap_avfoundation.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)", referenced from:
      cv::Mat::create(int, int const*, int) in opencv2(matrix.o)
      cv::setSize(cv::Mat&, int, int const*, unsigned long const*, bool) in opencv2(matrix.o)
      cv::Mat::Mat(cv::Mat const&, cv::Range const&, cv::Range const&) in opencv2(matrix.o)
      cv::Mat::Mat(cv::Mat const&, cv::Range const*) in opencv2(matrix.o)
      cv::Mat::diag(int) const in opencv2(matrix.o)
      cv::Mat::Mat(_IplImage const*, bool) in opencv2(matrix.o)
      cv::Mat::reserve(unsigned long) in opencv2(matrix.o)
      ...
  "_AVVideoCodecH264", referenced from:
      -[CvVideoCamera createVideoFileOutput] in opencv2(cap_ios_video_camera.o)
  "___cxa_throw", referenced from:
      cv::error(cv::Exception const&) in opencv2(system.o)
      cv::PxMDecoder::readHeader() in opencv2(grfmt_pxm.o)
      cv::RBaseStream::readBlock() in opencv2(bitstrm.o)
  "_AVVideoHeightKey", referenced from:
      -[CvVideoCamera createVideoFileOutput] in opencv2(cap_ios_video_camera.o)
  "_CMSampleBufferGetImageBuffer", referenced from:
      -[CaptureDelegate captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_avfoundation.o)
      -[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
  "operator new[](unsigned long)", referenced from:
      cv::Mat::Mat(cv::Mat const&, cv::Range const&, cv::Range const&) in opencv2(matrix.o)
      cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int) in opencv2(color.o)
      cv::flipHoriz(unsigned char const*, unsigned long, unsigned char*, unsigned long, cv::Size_<int>, unsigned long) in opencv2(copy.o)
      cv::mixChannels(cv::Mat const*, unsigned long, cv::Mat*, unsigned long, int const*, unsigned long) in opencv2(convert.o)
      cv::binary_op(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, cv::_InputArray const&, void (* const*)(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, cv::Size_<int>, void*), bool) in opencv2(arithm.o)
      cv::arithm_op(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, cv::_InputArray const&, int, void (**)(unsigned char const*, unsigned long, unsigned char const*, unsigned long, unsigned char*, unsigned long, cv::Size_<int>, void*), bool, void*) in opencv2(arithm.o)
      cv::compare(cv::_InputArray const&, cv::_InputArray const&, cv::_OutputArray const&, int) in opencv2(arithm.o)
      ...
  "___gxx_personality_v0", referenced from:
      -[CaptureDelegate updateImage] in opencv2(cap_avfoundation.o)
      -[CvVideoCamera captureOutput:didOutputSampleBuffer:fromConnection:] in opencv2(cap_ios_video_camera.o)
      cv::Mat::create(int, int const*, int) in opencv2(matrix.o)
      cv::setSize(cv::Mat&, int, int const*, unsigned long const*, bool) in opencv2(matrix.o)
      cv::Mat::Mat(cv::Mat const&, cv::Range const&, cv::Range const&) in opencv2(matrix.o)
      cv::Mat::Mat(cv::Mat const&, cv::Range const*) in opencv2(matrix.o)
      cv::Mat::Mat(CvMatND const*, bool) in opencv2(matrix.o)
      ...
  "_CMTimeMake", referenced from:
      -[CvVideoCamera createVideoDataOutput] in opencv2(cap_ios_video_camera.o)
  "_AVVideoCodecKey", referenced from:
      -[CvPhotoCamera createStillImageOutput] in opencv2(cap_ios_photo_camera.o)
      -[CvVideoCamera createVideoFileOutput] in opencv2(cap_ios_video_camera.o)
  "_OBJC_CLASS_$_AVAssetReaderTrackOutput", referenced from:
      objc-class-ref in opencv2(cap_avfoundation.o)
  "_AVFileTypeMPEG4", referenced from:
      -[CvVideoCamera createVideoFileOutput] in opencv2(cap_ios_video_camera.o)
  "_AVMediaTypeVideo", referenced from:
      -[CvPhotoCamera createStillImageOutput] in opencv2(cap_ios_photo_camera.o)
      -[CvVideoCamera createVideoDataOutput] in opencv2(cap_ios_video_camera.o)
      -[CvVideoCamera createVideoFileOutput] in opencv2(cap_ios_video_camera.o)
      -[CvAbstractCamera createCaptureDevice] in opencv2(cap_ios_abstract_camera.o)
      -[CvAbstractCamera setDesiredCameraPosition:] in opencv2(cap_ios_abstract_camera.o)
      -[CvAbstractCamera lockFocus] in opencv2(cap_ios_abstract_camera.o)
      -[CvAbstractCamera unlockFocus] in opencv2(cap_ios_abstract_camera.o)
      ...
  "_OBJC_CLASS_$_AVAssetWriterInputPixelBufferAdaptor", referenced from:
      objc-class-ref in opencv2(cap_avfoundation.o)
      objc-class-ref in opencv2(cap_ios_video_camera.o)
  "_AVCaptureSessionPreset640x480", referenced from:
      -[CvAbstractCamera initWithParentView:] in opencv2(cap_ios_abstract_camera.o)
      -[CvAbstractCamera updateSize] in opencv2(cap_ios_abstract_camera.o)
  "_AVVideoCodecJPEG", referenced from:
      -[CvPhotoCamera createStillImageOutput] in opencv2(cap_ios_photo_camera.o)
  "_jpeg_free_large", referenced from:
      _free_pool in opencv2(jmemmgr.o)
  "_AVVideoWidthKey", referenced from:
      -[CvVideoCamera createVideoFileOutput] in opencv2(cap_ios_video_camera.o)
  "_OBJC_CLASS_$_AVCaptureVideoPreviewLayer", referenced from:
      objc-class-ref in opencv2(cap_ios_abstract_camera.o)
  "_AVCaptureSessionPreset1280x720", referenced from:
      -[CvAbstractCamera updateSize] in opencv2(cap_ios_abstract_camera.o)
  "_OBJC_CLASS_$_AVURLAsset", referenced from:
      objc-class-ref in opencv2(cap_avfoundation.o)
  "_OBJC_CLASS_$_AVCaptureVideoDataOutput", referenced from:
      objc-class-ref in opencv2(cap_avfoundation.o)
      objc-class-ref in opencv2(cap_ios_video_camera.o)
  "_OBJC_CLASS_$_AVCaptureDeviceInput", referenced from:
      objc-class-ref in opencv2(cap_avfoundation.o)
      objc-class-ref in opencv2(cap_ios_abstract_camera.o)
  "_AVCaptureSessionPresetPhoto", referenced from:
      -[CvAbstractCamera updateSize] in opencv2(cap_ios_abstract_camera.o)
  "_OBJC_CLASS_$_AVCaptureSession", referenced from:
      objc-class-ref in opencv2(cap_avfoundation.o)
      objc-class-ref in opencv2(cap_ios_abstract_camera.o)
  "_OBJC_CLASS_$_AVCaptureStillImageOutput", referenced from:
      objc-class-ref in opencv2(cap_ios_photo_camera.o)
  "_OBJC_CLASS_$_AVAssetReader", referenced from:
      objc-class-ref in opencv2(cap_avfoundation.o)
  "_OBJC_CLASS_$_AVCaptureDevice", referenced from:
      objc-class-ref in opencv2(cap_avfoundation.o)
      objc-class-ref in opencv2(cap_ios_abstract_camera.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Showing first 200 notices only

Most helpful comment

although this is an old & unresolved issue, but I came across today. The reason is simple: remember to link

AssetsLibrary.framework, AVFoundation.framework, CoreMedia.framework, CoreVideo.framework

Yours seems missing AVFoundation.framework

All 3 comments

I would like to help look into this if you could post a sample project that exhibits this issue. I notice that you mention changing the c++ stdlib didn't resolve this so i'm wondering if there is something else at play that is causing issues.

Closing due to lack of an example project.

although this is an old & unresolved issue, but I came across today. The reason is simple: remember to link

AssetsLibrary.framework, AVFoundation.framework, CoreMedia.framework, CoreVideo.framework

Yours seems missing AVFoundation.framework

Was this page helpful?
0 / 5 - 0 ratings