Ios opencv2.framework/opencv2(surf.o)架构armv7的重复符号

Ios opencv2.framework/opencv2(surf.o)架构armv7的重复符号,ios,xcode,opencv,image-processing,uiimage,Ios,Xcode,Opencv,Image Processing,Uiimage,我正在将opencv2.framework与我的项目集成。我完成了以下步骤 将opencv2.framework添加到“链接的框架和库” 将libc++.dylib添加到“链接框架和库” 将以下代码添加到AppName-Prefix.pch文件 #ifdef_uucplusplus #导入“opencv2/opencv.hpp” #恩迪夫 更改了编译器的默认值 苹果LLVM编译器4.2 -语言-C++语言方言-GNU++ 11 [ -STD= GNU++ 11 ] C++标准库-> LBC+ +

我正在将opencv2.framework与我的项目集成。我完成了以下步骤

  • 将opencv2.framework添加到“链接的框架和库”
  • 将libc++.dylib添加到“链接框架和库”
  • 将以下代码添加到AppName-Prefix.pch文件

    #ifdef_uucplusplus
    #导入“opencv2/opencv.hpp”
    #恩迪夫

  • 更改了编译器的默认值 苹果LLVM编译器4.2 -语言-C++语言方言-GNU++ 11 [ -STD= GNU++ 11 ] C++标准库-> LBC+ +(LVVM C++标准库,C++ 11支持)< /P>
  • 但我仍然得到一个链接错误,这是说

    “opencv2.framework/opencv2(surf.o) ld:21个重复符号用于架构armv7“

    有人能帮我吗

    编辑:


    我的XCode版本是4.6,IOS SDK是6.1,部署目标是4.3(我也用5.0进行了测试,但在该目标下也不起作用)

    更新:github pull修复了这个问题,现在合并到OpenCV中

    原因: 在OpenCV中,有两个名为1的文件。surf.cpp和2。它为opencv框架库中的每个体系结构生成两个surf.o对象文件

    修复: 在OpenCV源代码中,应用github pull中的修补程序 以及iOS的OpenCV

    请参见:在OpenCV上使用为每个体系结构(armv7、armv7s和i386)提取单独的库,然后使用
    ar-tv
    查看两个名为surf.o的大小相同的对象文件


    我不知道:只有一些XCode项目使用预构建的OpenCV框架失败。我使用Xcode 5.0和OpenCV 2.4.6.1。这可以通过一些XCode构建设置来修复吗?

    @Kiran。。谢谢你的回答。我认为有一些XCode构建设置或其他东西可以解决这个问题。我解决了这个问题,但现在不记得了。该职位于5个月前添加。:)