【发布时间】:2014-07-15 07:29:58
【问题描述】:
问题的简短版本:
所以基本上我想做的是将一个用 C (https://github.com/lsalzman/enet) 编写的现有库转换为 iOS 的静态库。
我只是在寻找一个易于理解的一步一步如何在 Xcode 中完成此操作。
加长版:
我已经阅读了一些教程,用于制作一个用 Objective-C (http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial) 编写的简单静态库,我大致了解那里发生了什么,但我不明白如何使用现有的用 C 编写的代码。
我想我已经接近了,但我不太确定。
- 我首先在 xcode 中创建了一个“Cocoa Touch 静态库”项目。
- 我添加了所有的 enet .h 和 .c 文件
- 确保 enet 内容位于构建设置中的“用户标头搜索路径”中。
- 点击构建 - 它编译!
生成的 .a 文件是 517kb,所以我很确定它现在正在构建 enet 的东西。
我现在的问题是库的头文件基本上是空的:
#import <Foundation/Foundation.h>
@interface enet_ios : NSObject
@end
我想我要么需要在 Objective-C 中编写一个与 enet 库对话的包装器,要么我需要以某种方式重新配置我的 xcode 项目,以便 enet.h 成为该库的“入口点”,而不是xcode 预先生成的 .h/.m 文件。不过,我不确定该怎么做。理想情况下,我只想跳过任何类型的包装器并使用 enet 库已经为我提供的东西。
感谢观看!
【问题讨论】:
-
转到“构建阶段”并添加一个复制标头(不是复制文件)构建阶段,并将 enet 的标头添加到公共标头中。您还必须在构建设置中配置您的公共标头文件夹路径 - 这是 Xcode 将标头与库一起放置的位置。
-
你觉得这个怎么样?
标签: ios c xcode static-libraries enet