【问题标题】:Build error while trying to build ABBYY Mobile OCR SDK sample code尝试构建 ABBYY Mobile OCR SDK 示例代码时出现构建错误
【发布时间】:2012-01-25 13:56:16
【问题描述】:

我已从 ABBYY 获得试用许可证并获得 iPhone 的试用 SDK。但我无法在我的设备上构建和调试项目。它给出了一个错误:“_OBJC_CLASS_$_CMocrManager”,引用自:

该应用程序在模拟器中运行良好(示例中提供了一张图像)。

请帮忙,我已附上截图。

【问题讨论】:

  • 嗨,@Rakesh。你的问题解决了吗?或者您需要有关 ABBYY OCR 引擎的任何帮助吗?
  • 有点不相关,但如果您使用的是 iOS 5,则 ImagePickerController 需要更新为 [self dismissModalViewControllerAnimated:YES] 而不是 [[self parentViewController] dismissModalViewControllerAnimated:YES]... 为什么 Apple 在这种工作方式上掉头了?永远不会知道!

标签: ios4 ocr abbyy


【解决方案1】:

我已经联系了 abbyy mobile sdk 的技术支持,以下是关于内部版本号的回复:

“我发现在 Mac OS 上无法查看 dll 库的内部版本号(只能在 Windows 中看到,给您带来的不便,我深表歉意)。”

然后关于构建错误,我遵循了他们给出的说明:

您使用的是最新版本的 ABBYY Мobile OCR 引擎,因此问题出在项目设置中。

请在下面找到如何在 Xcode 4.3、iPhoneSDK 5.1 上运行 iPhone 示例的说明。

当您启动 Xcode 并打开“Sample.private.xcodeproj”项目时,Xcode 会显示 Workspace 窗口。工具栏提供对右上角“查看”按钮组的快速访问。单击此处“隐藏或显示导航器”按钮(或通过 xCode 主菜单进行相同操作:查看 → 导航器 → 显示项目导航器)。

“项目导航器”出现在包含单个项目“Sample.private”的工作区窗口的左侧。

单击项目导航器中的“Sample.private”项目图标。 “项目编辑器”面板出现在项目导航器的右侧,显示元素 Project → Sample.private 和元素 Target → Sample。

选择 Project → Sample.private 并在 BuildSettings 选项卡上设置以下设置:

• 构建设置 → 架构部分:

Base SDK = "最新 iOS (iOS 5.1)"

仅构建活动架构 = 是

架构设置的其余部分应自动变为:

架构 = 标准 (armv7)

支持的平台 = iphonesimulator iphoneos

有效架构 = armv6 armv7

• 在代码签名部分中为参数代码签名身份指定开发人员许可证。

• 要指定您的应用程序将支持的最低操作系统版本,请在部署部分中设置 iOS 部署目标。

选择目标 → 样本。这里还打开选项卡 Build Settings 并执行与 Project → Sample.private 几乎相同的操作:

• 构建设置 → 架构部分:

仅构建活动架构 = 是

检查其余的架构设置:

架构 = armv6

"Base SDK" = "最新 iOS (iOS 5.1)"

支持的平台 = iphonesimulator iphoneos

有效架构 = armv6

• 在代码签名部分中为参数代码签名身份指定开发人员许可证。

• 要指定您的应用程序将支持的最低操作系统版本,请在部署部分中设置 iOS 部署目标:

iOS 部署目标 = 计划启动示例的 iPhone 操作系统版本。

然后调整从xCode主菜单默认打开的方案运行Sample.app:产品→编辑方案:

• 参数 Destination 应该是 iOS 设备(如果移动设备当前与计算机断开连接)或者应该有一个当前连接到您的计算机的设备的名称,您将在该设备上运行样本。

• 将 Info 选项卡上的 Build Configuration 参数更改为 iPhone.Debug。

现在尝试在设备上启动示例。

此外,我们的测试工程师注意到您可能会收到类似“启动远程程序时出错:无法获取 xxx 的任务”之类的消息。当示例安装在设备上并且在调试模式下不工作时。这个问题的解决方案在不同的 iOS 开发者论坛上有详细描述。您可以尝试通过从移动设备中删除除开发人员之外的所有配置文件来解决此问题。

我能够成功构建示例。

感谢 nikolay 和 sharptooth 在这方面帮助我。

【讨论】:

    【解决方案2】:

    这是一个链接问题。错误消息之前的链接器警告清楚地表明,构成 SDK (libAbbyyMsdk.a) 的 .a 文件是针对与项目所针对的 armv6 架构不同的架构编译的。您可以联系供应商并要求他们提供.a 文件的armv6 目标版本,或者将您的项目定位为与.a 文件相同的架构。

    【讨论】:

    • 嗨 shrptooth- 你能帮我解决这个问题吗:1)你的产品的内部版本号(要确定内部版本号,请参阅 FREmbed.dll 本地菜单中的属性);由于您使用的构建已过时,因此可能会发生此错误;如何从此 FREmbed.dll 文件中获取内部版本号?
    • @Rakesh:SDK 包中应该有类似自述文件的内容,其中包含内部版本号。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多