Tesseract-OCR 3.02 与 libc++

2023-12-28

Xcode 4.6、iOS SDK 6.1、tesseract-ocr 3.02

由于最新的 OpenCV 版本是使用构建的libc++,并且 tesseract-ocr 是使用构建的libstdc++ 库,它们不能在一个 xcode 项目中一起使用。
所以,我正在尝试使用 libc++ 构建 tesseract。使用脚本here https://dl.dropboxusercontent.com/u/1745859/Blog/tesseract/ios60_tesseract302_leptonica_169/build_dependencies.sh(更新基础 sdk 并将目标部署到 6.1),tesseract 构建得很好,一旦 C++ 标准库设置为编译器默认值,它就可以在我的 xcode 项目中工作。然后,根据答案,我尝试更改脚本以使用 libc++ 构建它here https://stackoverflow.com/a/15864395/569546。我变了CXX指向clang++,并添加了-stdlib=libc++ to the CXXFLAGS.
结果是脚本成功,并且构建了库,但是当在 xcode 中选择 libc++ 作为 C++ 标准库时,我收到很多链接器错误并且项目构建失败。当标准库设置为编译器默认值时,新库仍然可以工作(就像定期构建时一样)。

我缺少什么?


好的,所以我的问题是,在我的项目中多次添加和删除对库的引用后,我的库搜索路径非常混乱。另外,我没有将新的“include”文件夹(在构建超立方体时创建)添加到用户标题搜索路径中。

因此,快速回顾一下,为了使用 libc++ 构建 tesseract-ocr,以便它可以与较新的 OpenCV 版本一起工作:

  • 下载leptonica-1.69
  • 下载超正方体 3.02
  • 将它们排列在原始教程中解释的文件夹结构中here http://tinsuke.wordpress.com/2011/11/01/how-to-compile-and-use-tesseract-3-01-on-ios-sdk-5
  • 下载this https://dl.dropboxusercontent.com/u/1745859/Blog/tesseract/ios60_tesseract302_leptonica_169/build_dependencies.sh脚本到同一文件夹。
  • 编辑相关 IOS_BASE_SDK 和 IOS_DEPLOY_TGT 的脚本。
  • 编辑 CXX 以使用 clang++:CXX="/usr/bin/clang++"
  • 编辑 CXXFLAGS 以使用 libc++ 作为标准库:CXXFLAGS="$CFLAGS -stdlib=libc++"
  • 使用脚本并构建 tesseract 和 leptonica。
  • 将这些库添加到您的 xcode 项目中,将“C++ 标准库”设置更改为 libc++。
  • 确保您的“库搜索路径”设置未指向任何旧的超立方体库。
  • 确保您的“用户标头搜索路径”设置指向构建新库时创建的新“include”文件夹。
  • 现在,当您尝试构建项目时,您将缺少一些头文件。只需从 tesseract 和 leptonica 的旧“include”文件夹中复制它们即可。

就是这样。此时,您将拥有一个能够同时使用新 OpenCV 版本和 tesseract 3.02 的项目。如果是新项目,请不要忘记相应地编辑前缀文件以包含 OpenCV 和 Tesseract(如果是 __cplusplus),并将使用它们的任何 .m 文件重命名为 .mm

非常感谢this https://stackoverflow.com/a/15864395/569546答案,这让我一路顺利。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tesseract-OCR 3.02 与 libc++ 的相关文章

  • 在实例化对象之前是否可以检查故事板中是否存在标识符?

    在我的代码中我有这一行 但我想知道是否有办法检查是否 一些控制器 在我将它与 一起使用之前就存在实例化ViewControllerWithIdentifier 方法 如果标识符不存在 则应用程序崩溃 如果没有好的方法 这并不是一个大问题 我
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 在 SWIFT 中发送本地通知

    我将此代码添加到我的第一个 ViewController 中 Step 1 Ask permission from User let center UNUserNotificationCenter current center reques
  • 修改 SCNParticleEventBlock 中的 SCNParticleSystem 颜色不起作用

    鉴于提供的示例代码handle forProperties handler https developer apple com documentation scenekit scnparticlesystem 1523251 handle
  • iOS 9.3 中的 KVO 被破坏

    这可能是 iOS 9 3 发行版 中的一个可怕的错误 添加单个观察者时 NSUserDefaults standardUserDefaults 我注意到响应方法 observeValueForKeyPath ofObject change
  • iOS - UIBarButtonItem - 后退按钮标题垂直位置不调整

    我正在设置自定义字体UIBarButtonItem对象使用UIAppearance 这工作正常并正确设置字体 但是 我确实需要调整按钮标题的垂直位置以适应新字体的大小 UIBarButtonItem appearance setTitleT
  • 如何在ios开发中从mp3文件中提取元数据

    我正在开发一个带有云存储的 ios 音乐播放器 我需要提取音乐信息 如标题 艺术家 艺术作品 我有一个名为 playit 的操作 可以播放和暂停 mp3 文件 它还应该使用与 mp3 文件关联的元数据来填充一些 UILables 和 UII
  • iOS9 Sprite 套件问题

    一切都很顺利 直到我升级到 xCode 7 和 iOS 9 我当前的项目是一个 2D 平台游戏 自从升级以来 我就陷入了我们许多人似乎都面临的精灵套件错误 错误的困扰 我的问题是 每次游戏在模拟器或设备上运行时 所有精灵的 zPositio
  • 多线程中的 OpenCV CascadeClassifier C++ 接口

    我想在多个线程中使用 CascadeClassifier 对象运行 OpenCV C 接口 我的程序的工作方式是我的主线程将 some file xml 加载到 CascadeClassifier 对象中 生成三个或更多线程并向它们传递级联
  • iOS8 自签名证书已安装但仍不受信任

    由于我无法控制的原因 我需要使用自签名证书针对平台进行 iOS 开发 它是一个在 SAN 中具有特定 IP 地址的根证书 当证书安装在 OSX 系统帐户下时 所有浏览器现在将正常信任对给定 IP 地址的任何访问 通过电子邮件将同一证书发送到
  • 如何在javascript中计算日出和日落?

    我正在使用appcelerator titan开发一个IOS应用程序 我想让我的应用程序在日出和日落时向用户发送本地通知 解决这个问题的一个好工具是使用 YQL 的雅虎天气 但是 雅虎天气仅供非商业用途 我正在尝试找到一个javascrip
  • Android 上的硬币识别

    我目前正在开发一个 Android 应用程序 它能够拍摄硬币的现有图像 或者使用内置摄像头扫描单个硬币 非常像 Google Goggles 我正在使用 Android 版 OpenCV 我的问题如下 什么方法最适合使用 OpenCV 在
  • 使用 HTTP NSURL 创建 AVAsset

    我正在尝试合并两个NSURLs包含视频参考 其中一个 URL 指向 AWS 上的视频 另一个 URL 指向本地存储的视频 我的导出代码有效 因为我已经尝试使用两个本地视频 但每当我尝试合并 HTTP url 和本地 url 时 我都会收到此
  • iOS UITableView:使用 CAGradientLayer 将背景颜色指定为渐变

    我刚刚开始使用 Xcode 4 3 中的主从视图模板 我试图更改主视图的背景颜色并将其设置为颜色渐变 这是我尝试过的 Colors m import Colors h implementation Colors UIColor naviga
  • iOS 中第一响应者的正式定义是什么?

    据我所知 第一响应者对象是根据输入活动等接收回调信号 并且它将沿着链向上冒泡 直到找到愿意处理它的响应者 但更正式地说 第一响应者的范围是什么 例如 它是应用程序范围的响应程序吗 似乎作为第一响应者只是说这个特定的对象将收到交互通知 其他响
  • Textview 中心文本对齐 IOS 7

    void observeValueForKeyPath NSString keyPath ofObject id object change NSDictionary change context void context NSLog He
  • 为什么我收到 com.facebook.sdk.login 错误 308?

    我正在使用 Xcode 7 0 在 iOS 9 0 2 上进行测试并使用 Facebook SDK 4 7 0 当我登录用户时 大多数时候一切都正常 但有时我不断收到此错误 但我不知道为什么 操作无法完成 com facebook sdk
  • 初始化Object中的空字符串?

    有人使用以下方法来初始化 NSstring NSString astring NSString alloc init 我想知道为什么不直接使用 NSString atring nil or NSString astring 没有semant
  • 在启动屏幕中执行代码已更新

    在原始启动屏幕中执行代码 https stackoverflow com questions 27642016 execute code in launch screen 现在默认的LaunchScreenXcode 项目中的文件已更改为
  • 如何在 Swift 中将所有 iOS 设备的标签水平居中

    我不知道如何使标签在图像视图中水平居中 标签说 You ve been here What would you rate us 我想要What would you rate us属于 You ve been here 我试图完成此操作的方法

随机推荐

  • MySQL:InnoDb:信号量等待已持续 > 600 秒。我们故意让服务器崩溃

    Windows Server 2012R2 上具有 32GB RAM 的 MySQL 5 7 16 服务器现在每 18 分钟左右重新启动一次 错误日志中显示以下内容 InnoDB Diagnostic info printed to the
  • 将基于 Theano 的 Keras 模型定义转换为 TensorFlow

    将基于 Theano 的 Keras 模型定义转换为 TensorFlow 时 更改顺序是否足够input shape在输入层 例如下面的层 Convolution2D 32 3 3 input shape 3 img width img
  • Linux 是否为应用程序提供单调递增的时钟

    Linux Unix Posix 是否为用户空间应用程序提供 API 来访问单调递增的时钟 精度为厘秒到毫秒 在 Linux 上 proc uptime 提供基于字符串的浮点数表示形式 表示系统已启动的秒数 gettimeofday 2 不
  • 求数组中重复子数组的个数

    有一个数组索引自0 n 即 size n 包含来自的元素0 m where m lt n 假设 m 比 n 小 100 或 1000 倍 即 m 远小于 n 因此许多元素或子数组必须重复 我们必须找到大小为 1 或大于 1 的此类重复子数组
  • 在 Junit 中测试异常时忽略堆栈跟踪

    我们正在单元测试中测试异常 Test expected IOException class public void test run some code that throws IOException 测试正在通过 但作为运行测试的 Mav
  • 致命错误:未找到“CI_Model”类

    突然间 我的网络服务器上的页面出现故障 一切都在本地运行得很好 有问题的错误 Wed Sep 12 03 37 49 2012 error client PHP Fatal error Class CI Model not found in
  • Dart SDK 0.8.10.3_r29803 dart:js 回调

    有人可以给我一个遵循此流程的 Dart 代码示例吗 1 Dart调用Javascript函数 2 Javascript 通过 Javascript api 加载一些数据 3 Javascript返回数据给Dart 目前我只能调用我需要的Ja
  • 闪烁的托盘图标

    我知道如何使用 java 在 Windows 系统托盘中放置图标 但是执行系统托盘图标的最佳方法是什么Blinking 或者如果我可以不时或在某些事件 应用程序运行时 替换任何图标 请分享您的经验 提前致谢 在某些基础上更改图标没有问题 输
  • 在巨大的 1 和 0 列表中提取 1 密集区域的边界

    我不知道如何表达我的问题 但这里是 我有一个巨大的 1 和 0 列表 总长度 53820 列表的示例 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 可视化如下所示 x axis 元素的索引 从 0
  • 更新 MongoDB 中数组元素的值

    我想知道如何更新数组 array of stuff 中 名称 字段标识的元素之一的 值 字段 例如 我想将 name of thing 1 的值更新为 new value of thing 1 我怎样才能做到这一点ONLY使用更新命令的第二
  • 如何从 HTML 表格中删除特定单元格?

    假设我有 HTML 表格 并且我想从 HTML 表格中删除一个单元格 如下所示 我已将单元格边框颜色更改为白色 因为整个表格的边框颜色是黑色 因此它显示灰色 问题是我无法删除表格边框 所以我使用了边框折叠 折叠 那么我怎样才能改变它 使边框
  • Hive 表的 ORC 拆分生成问题

    我在 Hadoop 3 3 4 上使用 Hive 版本 3 1 3 和 Tez 0 9 2 当我创建一个包含拆分的 ORC 表并尝试查询它时 我得到一个ORC split generation failed例外 如果我连接表格 https
  • cocos2d可以调节音量吗?

    我使用以下方法 在cocos2d中表达声音效果 SimpleAudioEngine sharedEngine playBackgroundMusic BackGround m4a 但背景音乐的音量太小 那么 有没有办法调节音量呢 Simpl
  • 无法使用 Eclipse 和 Maven 让 Struts2 Hello World 工作

    该网站不允许用户向他们的教程提出技术问题 我认为该教程已损坏 http www mkyong com misc how to use mkyong tutorial http www mkyong com misc how to use m
  • std::function 无法区分重载函数

    我试图理解为什么std function无法区分重载函数 include
  • 无法加载私钥。 (PEM例程:PEM_read_bio:无起始行:pem_lib.c:648:预期:任何私钥)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个 key 文件 它是 PEM 格式的私钥文件 我没有制作这个文件 但我从某个地方得到了这个 我想使用 openssl 工具查看其
  • 如何对齐Gridview中心

    我想将 GridView 居中对齐 我还是这样 正如您在上图中看到的 我在左侧获取图像 但我想在中心显示图像 如下所示 另一件事是获得文本背景的额外宽度我如何仅在图像中显示文本背景 现在 gridview 位于中心 但仍然遇到问题 请参阅文
  • 在 Titanium 应用程序中找不到库 stlport_shared

    我想创建一个 Titanium 模块 因此我有一个扩展 KrollModule 及其方法的类 Kroll method public void example Activity activity this getActivity Strin
  • git 子模块的公共子模块

    我有一个申请main由多个子模块组成A B and utility functions 这两个子模块A and B本身包含子模块utility functions main A utility functions B utility fun
  • Tesseract-OCR 3.02 与 libc++

    Xcode 4 6 iOS SDK 6 1 tesseract ocr 3 02 由于最新的 OpenCV 版本是使用构建的libc 并且 tesseract ocr 是使用构建的libstdc 库 它们不能在一个 xcode 项目中一起使