iphone - 将静态库添加到 iPhone 项目

标签 iphone xcode static-libraries openldap

这个问题的动机是我试图让 LDAP 函数与 iPhone 应用程序一起使用,这是我在论文中尝试的一个项目。

当我开发应用程序时,我使用了 ldap.framework 框架,它是 Mac OS X 的一部分。这在模拟器中运行良好,但是当我现在尝试在设备上获取该应用程序时,它告诉我,我正在不允许使用此框架。

经过一些研究,我发现我可以使用 Arm 架构构建 openldap 并将静态库添加到面向我的设备的应用程序中。

我最终成功地通过设置变量来编译配置并构建 openldap here并使用以下命令...

Ade$ ./configure CC=$DEVROOT/usr/bin/arm-apple-darwin9-gcc-4.0.1 \
LD=$DEVROOT/usr/bin/ld --host=arm-apple-darwin --with-yielding_select=yes
Ade$ make depend
Ade$ make

我被告知我要查找的文件的扩展名为“.a”,因此我搜索了一个提及 ldap 的“.a”文件...

Ade$ sudo find / -name *ldap*.a
Password:
/Users/Ade/Desktop/openldap-2.4.16/libraries/libldap/.libs/libldap.a
/Users/Ade/Desktop/openldap-2.4.16/libraries/libldap_r/.libs/libldap_r.a

所以我假设这些是我需要的文件?

我的问题是我接下来该怎么做?我知道我需要将库添加到 Xcode 项目中,并且可能还需要添加大量“.h”文件?

如果有人能给我一份文档指南或对下一阶段有任何启发,我将非常感激。

非常感谢, 阿德

ps。我还在我的博客 www.greenpasta.com 上讨论过这个过程。 .

最佳答案

我也做了同样的事情来为 iPhoneOS 2.2 构建 LDAP 客户端。您只需将 .a 拖到“与库链接”构建阶段即可。我建议使用该库的常规(非 _r)版本,除非您特别需要对 ldap 内容进行重入(我不推荐)。您还可以将 .h 添加到项目中,这通常是访问它们的最简单方法。

关于iphone - 将静态库添加到 iPhone 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/767429/

相关文章:

c++ 'undefined reference' 转静态库函数

ios - 文件是通用的(三个切片),但它不包含 iOS 上静态库的(n)ARMv7-s 切片错误,无论如何要绕过?

c - 将 Visual C 链接到 MinGW 静态库

iphone - 我如何延迟初始化 NSMutableArray?

iphone - 为什么我在网络通信期间会发生随机崩溃 - (CFRelease 中崩溃)?

Swift:扩展 print() 函数的功能

ios - Swift 预期声明错误?

iphone - 网页可以向左拖动并在移动 View 中放大/缩小

iphone - iOS安装SDK

ios - 在矩形绘图ios中输入字母