首页 > 代码库 > iOS下OpenCV开发配置的两个常见问题(sign和link)

iOS下OpenCV开发配置的两个常见问题(sign和link)

先上可以运行官方推荐的《OpenCV for iOS samples》的demo链接:https://github.com/Itseez/opencv_for_ios_book_samples.git

一、关于真机开发的限制:

iOS下进行OpenCV开发,如果涉及到摄像头,需要使用真机运行,所以需要添加开发者账号,如果是免费的,每周可以运行7次(如果资金有限就多注册几个可用账号吧)general-add an account。

技术分享

二、照着官方说明做却没成功

如果自己建立的项目,按照OpenCV的官方说明去配置,基本没有问题,唯一要说明一点:OpenCV提供的framework是c和c++混合的,所以在xcode中编写OpenCV时候也要xcode/C++混合编译,如果你在Xcode中编写的工程中既有OC代码,又有C++代码,在默认配置下,会报出如:

"std::__1::__vector_base_common::__throw_length_error() const", referenced from:      cv::SparseMat::resizeHashTab(unsigned long) in opencv2(matrix.o)      std::__1::vector>::__append(unsigned long) in opencv2(matrix.o)      std::__1::vector>::__append(unsigned long) in opencv2(matrix.o)      

等等一堆的链接错误,解决方法有两个:

1. 把项目中某个后缀为.m的文件改为.mm。因为.mm文件除了可以包含Objective-C和C代码以外还可以包含C++代码;

2. 设置编译器:找到工程的Build Settings,将compile source as设置为object-c++运行即可。

技术分享  

 

 

<style>p.p1 { margin: 0.0px 0.0px 0.0px 12.0px; text-indent: -12.0px; font: 11.0px Menlo }</style>

iOS下OpenCV开发配置的两个常见问题(sign和link)