openCV for iOS 错误集合

最近项目在有一个功能 是利用opencv的一个功能,在集成opencv 的时候遇见了很多小问题 也是非常头疼的,在这里记录一下,希望大家能少走点弯路 那么开始记录:

1.导入  opencv2.framework

在pch 中添加头文件

#ifdef __cplusplus

#import

#endif

其他的用 包含起来

#ifdef __OBJC__

#endif

common + b  报错  


解决: Enable Bitcode  改为No

2. common + b  报错 添加以后这时候你build一下如果发现编译不过,出现了一个很蛋疼的错误缺少一个libjpg库,不要惊慌,请按照下列解决方法:


openCV for iOS 错误集合_第1张图片

解决方法 : 

http://sourceforge.net/projects/libjpeg-turbo/files/1.4.0/下载 libjpeg-turbo-1.4.0.dmg

安装这个库,然后你会在路径/opt/libjpeg-turbo/lib找到它libjpeg.a

打开终端输入 lipo -info /opt/libjpeg-turbo/lib/libjpeg.a 看是不是armv7 x86-64都全,然后把这个.a拷贝到你的工程目录下

然后把库拖进你的工程里 添加opencv 依赖 libjpeg.a (需要下载) 完成后 向 Library Search Paths 添加 /opt/libjpeg-turbo/lib 寻找libjpeg.a的路径 

3. common + b 运行成功  开始写关于 opencv 的代码啦

导入已写完成的c++ 代码 


openCV for iOS 错误集合_第2张图片

解决方法 : 在pch 添加两个头文件  一定要在 #import de前面

4.还可能出现如下错误

dyld: Library not loaded: /opt/libjpeg-turbo/lib/libjpeg.62.dylib

Referenced from: /Users/malata/Library/Developer/CoreSimulator/Devices/5A63F3E9-9097-46F6-879C-66C26135B5AA/data/Containers/Bundle/Application/33C4EED6-79E7-48A5-B798-E65FF127F640/LocationManager.app/LocationManager

Reason: no suitable image found.  Did find:

/opt/libjpeg-turbo/lib/libjpeg.62.dylib: mach-o, but not built for iOS simulator

解决办法很简单:

将添加进入工程的libjpeg.a 在Build phases -> Link binary with Libraries 把required 改成 optional。

5.还可能出现如下错误

在background_segm.hpp里出现“ 'list' file not found”

解决办法很简单:

1)把用到opencv的类的后缀从.m改为.mm

必须添加的类库

AVFoundation

CoreMedia

AssetLibrary

CoreVideo


在项目中 .cpp c++ 利用   ifstream in(xx.txt); or Mat img_color = imread("41.jpg");  一直读取不了txt 和图片的信息  有明白的大神可以告知一下,

你可能感兴趣的:(openCV for iOS 错误集合)