Xcode 5.1 build opencv 在 64 位模拟器上失败 [英] Xcode 5.1 build opencv failed on 64 bit simulator
问题描述
我将 Xcode 更新到 5.1,并且在我使用 opencv 框架 2.4 的 iOS 应用程序项目中出现了许多错误.我的电脑是 macbook air 和 OSX 10.9.2.
I updated Xcode to 5.1 and many errors appeared in my iOS app project which use opencv framework 2.4. My computer is macbook air and OSX 10.9.2.
当我编译我的项目时,当我使用 Iphone Retina (3.5-Inch ,4-Inch) 模拟器时它工作正常.但是当我使用 Iphone Retina(4 英寸 64 位)时,当我尝试构建和运行时收到以下消息:
When I compile my project, it works fine when I'm using Iphone Retina (3.5-Inch ,4-Inch) Simulator. But when I'm using Iphone Retina (4-Inch 64-bit) I got the following message when I try to build and run :
ld: warning: ignoring file /Users/mike/Documents/opencv2.framework/opencv2, missing required architecture x86_64 in file /Users/mike/Documents/opencv2.framework/opencv2 (3 slices)
Undefined symbols for architecture x86_64:
"CvKNearest::CvKNearest(CvMat const*, CvMat const*, CvMat const*, bool, int)", referenced from:
-[HomeViewController ocrTicket:] in HomeViewController.o
"CvKNearest::~CvKNearest()", referenced from:
-[HomeViewController ocrTicket:] in HomeViewController.o
"cv::_InputArray::_InputArray(cv::Mat const&)", referenced from:
-[HomeViewController ocrTicket:] in HomeViewController.o
PreProcessImage(cv::Mat*, cv::Mat*, int, int) in HomeViewController.o
PreProcessImageNew(cv::Mat*, cv::Mat*, int, int) in HomeViewController.o
-[HomeViewController FromMat:ObtainRect:] in HomeViewController.o
...
ld: symbol(s) not found for architecture x86_64
推荐答案
Xcode 升级到 5.1,苹果默认让所有 app 通过 64 位编译器.通过这种方式可以关闭:选中
Xcode upgrade to 5.1, apple default let all app through the 64 - bit compiler. By this way can close: selected the
目标 -> 构建设置 -> 架构.双击架构
Targets - > Build Settings - > Architectures. Double-click the Architectures
,选择other,删除除了
$(ARCH_STANDARD) (' - ')
$(ARCH_STANDARD) (' - ')
,然后增加
armv7 和 armv7s'+'
armv7 and armv7s' + '
(点).再次编译clean.
这篇关于Xcode 5.1 build opencv 在 64 位模拟器上失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!