zoukankan      html  css  js  c++  java
  • xcode 编译opencv ios容易出现的错误

    (1)出现 "std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()"之类的错误

    Undefined symbols for architecture i386:
      "std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()", referenced from:
          cv::gpu::error(char const*, char const*, int, char const*) in opencv2(gpumat.o)
      "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
          std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<< <std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in opencv2(gpumat.o)
      "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
          std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<< <std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) in opencv2(gpumat.o)
      "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(int)", referenced from:
          cv::gpu::error(char const*, char const*, int, char const*) in opencv2(gpumat.o)
      "std::__1::cerr", referenced from:

    解决办法是加入c++库 ,想项目中加入libc++.dylib

    1. Select your project (the blue file) in your project navigator (Command 1 if it's hidden)
    2. Select your target
    3. Go to Build Phases
    4. Expand "Link Binary With Libraries"
    5. Click the "+"
    6. Type libc++.dylib in the search bar.
    7. Select the libc++.dylib file and press "Add"

    (2)出现下面错误

    "_CVPixelBufferGetBaseAddress", referenced from:
          -[MainViewController imageFromSampleBuffer:] in MainViewController.o
      "_CVPixelBufferUnlockBaseAddress", referenced from:
          -[MainViewController imageFromSampleBuffer:] in MainViewController.o
      "_CVPixelBufferLockBaseAddress", referenced from:
          -[MainViewController imageFromSampleBuffer:] in MainViewController.o
      "_CMSampleBufferGetImageBuffer", referenced from:
          -[MainViewController imageFromSampleBuffer:] in MainViewController.o
      "_CVPixelBufferGetHeight", referenced from:
          -[MainViewController imageFromSampleBuffer:] in MainViewController.o
      "_kCVPixelBufferPixelFormatTypeKey", referenced from:
          _kCVPixelBufferPixelFormatTypeKey$non_lazy_ptr in MainViewController.o
         (maybe you meant: _kCVPixelBufferPixelFormatTypeKey$non_lazy_ptr)
      "_CVPixelBufferGetWidth", referenced from:
          -[MainViewController imageFromSampleBuffer:] in MainViewController.o
      "_CVPixelBufferGetBytesPerRow", referenced from:
          -[MainViewController imageFromSampleBuffer:] in MainViewController.o
      "_CMTimeMake", referenced from:
          -[MainViewController setupCaptureSession] in MainViewController.o
      "_CVPixelBufferGetDataSize", referenced from:
          -[MainViewController imageFromSampleBuffer:] in MainViewController.o

    解决方法是添加 AVFoundation , CoreVideo 和 CoreMedia frameworks 

    (3)出现下面错误assert错误时,需要添加AssetsLibrary.framework

  • 相关阅读:
    Windows server 2008 R2远程桌面终端连接数的破解
    VirtualBox是什么
    蓝屏代码和解决办法
    最新版都叫兽数据恢复软件和注册机
    两种颜色混合
    [译]GLUT教程
    OpenGl的glMatrixMode()函数理解
    OpenGL ES 画直线代码实例
    7天学习opengl入门
    error C2275 将此类型用作表达式非法
  • 原文地址:https://www.cnblogs.com/xiongqiangcs/p/3499638.html
Copyright © 2011-2022 走看看