Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向iPhone项目添加静态库_Iphone_Xcode_Static Libraries_Openldap - Fatal编程技术网

向iPhone项目添加静态库

向iPhone项目添加静态库,iphone,xcode,static-libraries,openldap,Iphone,Xcode,Static Libraries,Openldap,这个问题的动机是我试图让LDAP函数与iPhone应用程序一起工作,这是我论文的一部分 在开发应用程序时,我使用了Mac OS X中的ldap.framework框架。这在模拟器中运行良好,但当我现在尝试在设备上运行应用程序时,它告诉我不允许使用此框架 经过一些研究,我发现我可以使用arm体系结构构建openldap,并将静态库添加到我的应用程序中,以用于我的设备 我最终通过设置前面提到的变量并使用以下命令来编译、配置和构建openldap Ade$ ./configure CC=$DEVROO

这个问题的动机是我试图让LDAP函数与iPhone应用程序一起工作,这是我论文的一部分

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

经过一些研究,我发现我可以使用arm体系结构构建openldap,并将静态库添加到我的应用程序中,以用于我的设备

我最终通过设置前面提到的变量并使用以下命令来编译、配置和构建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的“.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”文件

如果有人能给我一个指向文档的指针,或者对下一个阶段有所帮助,我将非常感激

非常感谢,, 艾德


另外,我在我的博客上也谈到了这个过程。

只需将.a文件拖动到Xcode项目中,然后选择“将文件复制到项目中”。我不熟悉OpenLDAP,但我认为r版本只是一个线程安全的版本。我建议使用这个,不要复制另一个。您可能不应该将这两个文件都复制到Xcode中,否则会出现链接错误

然后对定义OpenLDAP客户端API的.h文件执行相同的操作-同样,我不确定这些是什么,但我相信您可以很容易地找到

我建议将.a和.h文件组织在资源下的Xcode组中


将头文件包括在源代码中,您就可以开始了。

您可能还需要将-lldap添加到链接器命令中(在“构建设置”窗格中)。

我已经为iPhoneOS 2.2构建了LDAP客户端。您只需将.a拖到“链接到库”构建阶段。我建议使用该库的常规(非\u r)版本,除非您特别需要ldap内容的可重入性(我不建议这样做)。您还可以将.h添加到您的项目中,这通常是访问它们的最简单方法。

您好,我尝试过这种方法,但没有更进一步。。。苹果的讨论板上正在进行另一场讨论。。。