zoukankan      html  css  js  c++  java
  • iOS下OpenCV开发配置的两个常见问题(sign和link)

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃

      先上可以运行官方推荐的《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++运行即可。

      

  • 相关阅读:
    Linux rsync 命令详解
    docker 容器间网络配置
    git合并分支
    基于Docker的Mysql主从复制搭建
    MySQL字符串函数substring:字符串截取
    mysql 存储过程
    分布式系统唯一ID生成方案汇总 转
    mysql 比较函数和操作符
    Distributed PostgreSQL on a Google Spanner Architecture – Storage Layer
    Distributed PostgreSQL on a Google Spanner Architecture – Query Layer
  • 原文地址:https://www.cnblogs.com/mar-q/p/6627338.html
Copyright © 2011-2022 走看看