【发布时间】:2013-04-25 18:08:39
【问题描述】:
Xcode 4.6、iOS SDK 6.1、tesseract-ocr 3.02
由于最后的 OpenCV 版本是使用 libc++ 构建的,而 tesseract-ocr 是使用 libstdc++ 构建的,因此它们不能在一个 xcode 项目中一起使用。
所以,我正在尝试使用 libc++ 构建 tesseract。使用脚本here(将基本 sdk 和部署目标更新到 6.1),tesseract 构建得很好,一旦 C++ 标准库设置为编译器默认值,它就可以在我的 xcode 项目中工作。然后,根据答案here,我尝试更改脚本以使用 libc++ 构建它。我将 CXX 更改为指向 clang++,并将 -stdlib=libc++ 添加到 CXXFLAGS。
结果是脚本成功,并且构建了库,但是当在 xcode 中选择 libc++ 作为 C++ 标准库时,我收到很多链接器错误并且项目构建失败。当标准库设置为编译器默认值时,新库仍然有效(就像定期构建时一样)。
我错过了什么?
【问题讨论】:
-
什么是第一个链接错误?
-
感谢您的回复。 “架构 armv7s 的未定义符号”,以及整个库中引用的大量“std::....”。我的有效架构设置为 armv7 和 armv7s,“仅构建活动架构”设置为“否”。
-
小更新:IOS_DEPLOY_TGFT 与我在 xcode 项目中使用的不同。纠正它仍然会产生相同的错误,但现在它是“armv7”而不是“armv7s”。我似乎无法弄清楚这一点。
标签: ios opencv tesseract libc++