gpt4 book ai didi

c++ - openCV 2.4.8 iOS 7.0 框架链接器错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:35 34 4
gpt4 key购买 nike

我无法使用(最新的)openCV iOS 框架版本在 Xcode 5.0.2 中构建项目。我一直在尝试使用从 openCV sourceforge 页面下载的预构建框架。我按照 openCV 教程中的步骤将框架添加到 Xcode,我还尝试将 libc++.dylib 和/或 libstdc++.dylib 二进制文件添加到项目中。

我得到的错误是一个预处理/词法错误,说它找不到文件 <opencv2/opencv.hpp> 但在 Xcode 文件导航器中我确实可以看到它。如果我不 #include opencv.hpp当我尝试构建项目时,我遇到了大约 30 个链接器错误。关于如何让它工作的任何想法?我在这里看到了其他一些帖子,并且我尝试自己从源代码构建框架,但似乎没有什么能完全符合我的问题。

更新:还要更清楚一点——我使用的是 Xcode 5.0.2,目标构建是适用于标准架构(armv7 和 armv7s)的 iOS 7.0。

C++ 编译器是 Apple LLVM 5.0,C++ 语言方言设置是“编译器默认值”,C++ 编译器设置是“libc++(支持 C++11 的 LLVM C++ 标准库)”

最佳答案

使用 opencv.org 上提供的预构建 iOS 框架很容易:

  1. 将 opencv2.framework 添加到您的项目中

    enter image description here

  2. 在你项目的前缀头文件(.pch)中添加

    #ifdef __cplusplus
    #import <opencv2/opencv.hpp>
    #endif

    这将在所有 C++ 源文件中导入 OpenCV 的 header

  3. 开始在任何 C++ 源文件中使用 OpenCV。

我猜您正试图在 .m 文件中使用 OpenCV,默认情况下这些文件是 Objective-C(而非 C++)文件。由于适用于 iOS 的 OpenCV 框架是用 C++ 编写的,因此您只能在 C++ 源文件中使用它。

将 Objectice-C++ 文件添加到 Xcode 的最简单方法是将源文件的扩展名设置为 .mm

或者(只是为了记录)您可以在“文件检查器”中将文件类型更改为 Objective-C++ Source

enter image description here

或在目标的构建阶段添加-x objective-c++编译器标志。

enter image description here

关于c++ - openCV 2.4.8 iOS 7.0 框架链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22153147/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com