【发布时间】:2015-12-25 01:50:04
【问题描述】:
为了澄清澄清: 我知道如何使用 obj-c 或 swift 在 Xcode 中创建库。我知道如何在项目中使用这些。我知道如何编译这些项目,所以一切正常。我不知道的是如何获取开源C源代码(呵呵)并将其构建/制作/编译成库。
只是为了澄清以下所有内容: 我正在寻找一种在 Swift 应用程序中使用 c 库的方法,这意味着使用 Xcode。 c 库不必使用/在 Xcode 中构建,我可以使用其他工具。
我通常编写自己使用的所有代码,不幸的是我只在 Xcode 中编写 Swift。所以我在使用框架/库方面有点落后。 现在我真的很想探索 Tesseract OCR,但我在构建所需的库时遇到了麻烦。对我来说,最好是真正了解它是如何工作的,并且自己能够做到这一点,而不仅仅是查看 Github 并找到预编译的源代码。
下面的项目都以不同的方式处理这个问题。 iOS 版本使用预编译的库。 (.a 文件)OSX 版本使用包含库文件(尚未编译)的项目。
libjpeg 不能只是拖放的库示例。
使用 brew 只会将其安装为命令行工具,不会生成 lib。
install Tesseract with homebrew
我的问题是我对这些 c 库以及如何构建它们甚至可以有效地在谷歌上搜索的了解太少。
我的问题:
- 如何将 c 代码编译/构建到 .a 文件中?
- 如何创建一个基于 c代码? (可选)
- 什么是这一切的正确词汇?
我不是在寻找特定于 Tesseract 的答案。我想自己学习如何做到这一点。
本文没有提到如何实际添加 c 程序并让 xcode 制作。不过,关于工作区的部分很有趣。
Article on building c project in Xcode
这个真的很相关。但是,例如,我在 Tesseract 中找不到可执行文件。执行第 5 步时,所有选项均显示为灰色。
这看起来很漂亮:simple c++ procect 为什么 tesseract 不能像那样? :)
【问题讨论】:
-
正确的术语是“静态链接库”。对“xcode 构建静态链接库”进行网络搜索,您应该会找到一个不错的教程。可能在 SO。
-
我以前试过。所有文章都是关于将 xcode 项目构建为库/框架。不是关于如何构建像链接的 libjpeg 这样的 c“项目”。
标签: c++ xcode frameworks static-libraries