您的位置:首页 > 移动开发 > IOS开发

xcode 编译opencv ios容易出现的错误

2013-12-31 16:15 417 查看
(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

Select your project (the blue file) in your project navigator (Command 1 if it's hidden)

Select your target

Go to Build Phases

Expand "Link Binary With Libraries"

Click the "+"

Type libc++.dylib in the search bar.

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐