将静态库添加到iPhone项目
这个问题的动机是我试图让LDAP函数与iPhone应用程序一起工作,该应用程序是我正在尝试作为论文的一部分的一个项目。将静态库添加到iPhone项目
当我开发应用程序时,我使用了属于Mac OS X的ldap.framework框架。这在模拟器中工作正常,但是当我尝试现在在设备上获取应用程序时,它告诉我,不允许使用这个框架。
经过一番研究,我发现我可以使用arm架构构建openldap,并将静态库添加到我的应用程序中,并发往我的设备。
我最终设法编译配置并通过设置变量提到here并使用下面的命令建造的OpenLDAP ...
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 ......
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上讨论过这个过程。
只需将.a文件拖放到Xcode项目中,然后选择“将文件复制到项目中”。我不熟悉OpenLDAP,但我认为_r版本只是一个线程安全版本。我会建议使用它,而不是复制其他。你可能不应该将这两个文件复制到Xcode中,否则你会得到链接错误。
然后对定义OpenLDAP的客户端API的.h文件做同样的事情 - 我再也不确定这些是什么,但我确信您可以轻松找到。
我会建议组织.a和.h文件一起在资源下的Xcode组。
在源代码中包含头文件,你应该很好去。
您可能还需要将-lldap添加到链接器命令(在构建设置窗格中)。
我已经为iPhoneOS 2.2构建了一个LDAP客户端。您只需将.a拖入“与库链接”构建阶段。我建议使用库的常规(非_r)版本,除非你特别需要在你的ldap的东西(我不建议)重新进入。您也可以将.h添加到您的项目中,这通常是访问它们的最简单方法。
嗨, 这个方法我试过,但没有得到任何接近...... 还有另外一个讨论苹果讨论板回事... – 2009-04-20 15:10:00